پست تنها



 اینتیتی چیست ؟ و چگونه کار میکند ؟

 

سلام دوستان

در این مقاله قصد داریم با مفاهیم اینتیتی  وآشنایی کامل با عملیات(CURD) بپردازیم.

CURD  چیست ؟  به  عملیات ذخیره ، ویرایش ، حذف و نمایش اطلاعات ، CURD  گفته می شود.

 

Entity چیست ؟

Entity Framework یک ORM است که توسط شرکت Microsoft توسعه داده میشود.

نسخه ۱٫۰ آن مایوس کننده بود و در موارد بسیاری کمبود داشت. اما با توجه به سرمایه گذاری زیادی که Microsoft روی پروژه انجام داده بود، مشخص بود که قصد جدی در توسعه این ابزار دارد.

نسخه کنونی آن، ۶ هست که با ۲۰۱۵ Visual Studio  روی سیستم نصب میشود.

با توجه به اهمیت این بحث برای Microsoft، انتظار میرود که توسعه این ابزار به طور فعالی ادامه پیدا کند و امکانات کاملی به آن اضافه شود.

نکته : ORM یا Object Relational Mapping ابزاری است که به وسیله آن می توان جداول پایگاه داده را پردازش کرد و آنها را به فرمت شیءنگاشت کرد که در کدنویسی خواناتر باشند. در کدنویسی به جای این که به صورت مستقیم با جداول پایگاه داده کار کنیم بر روی اشیاء کار می کنیم. به این اشیاء موجودیت یا Entityگفته می شود
ADO.NET Entity Framework به گونه ای طراحی شده است تا توسعه دهندگان را قادر سازد در مقابل مدل های مرسوم مفهومی (conceptual)، از یک مدل جدید با امکان دسترسی و برنامه نویسی مستقیم بر اساس ساختار یک پایگاه داده رابطه ای استفاده نمایند. هدف از تولید این مدل، کاهش چشمگیر میزان کدنویسی، سهولت گسترش، ترمیم، بهبود و نگهداری برنامه ها بوده است.

 

 

چرا از Entity Framework استفاده می کنیم؟

دسترسی به داده هارا ساده می سازد و به ما اجازه می دهد تا مدل مفهومی مورد نیاز برای کسب و کار را ایجاد کنیم.

Entity Frameworkاجازه میدهد تا شما روابط چندبه چند (n: n) را بدون join ها متعدد مدیریت نمایید.
جهت کاهش پیچیدگی کد، جداول مرتبط را در یک Entity مدل می کند.
پشتیبانی غنی و خوب از ارث بری ها برای جدول به ازای سلسله مراتب، زیرکلاس (subclass) و تایپ های به هم چسبیده (concrete type).
چون دارای مکانیسم بسیار قوی Query گیری از Entity هاست. کسانی که مایل با استفاده از LINQنیستند، میتواننداز Entity Client provider همراه با EntitySQL استفاده نمایند.
مستقل از نوع پایگاه داده می باشد و بر اساس استاندارد NET Providers. کار می کند.

 

خیلی خوب تا این جایی که دانستید Entity  چی هست ، سعی کردیم به صورت یک پروژه کامل آن را توضیح بدهیم.

مرحله اول » یک دیتابیس ایجاد کنید .

مرحله دوم » یک جدول با هر نام دلخواه بسازید . مثال : به تصویر زیر دقت کنید.(Person)

ایجاد دیتابیس

مرحله سوم » پروژه جدیدی ایجاد کنید، دقت داشته باشید پروژه از نوع سی شارب باشد .
در منوی Solition Exprorer روی نام پروژه کلیک راست کنید ، روی Add و لیست بعدی روی New Item کلیک کنید.به تصویر زیر دقت کنید.

مرحله پنجم » پنجره ی Add New Item باز می شود ، در منوی سمت چپ روی گزینه Data کلیک کرده ، و ایتم ADO.Net Entity Data Model را انتخاب کرده وروی دکمه Add کلیک کنید. به تصویر زیر دقت کنید.

مرحله ششم » در این قسمت ایتم EF Designer from database را انتخاب کنید ، و روی دکمه Next کلیک کنید.

مرحله هفتم » پنجره ی Entity Data Model Wizard باز میشود ، توجه کنید !! در این قسمت باید از دیتابیس یک کانکشن استرینگی بسازیم ! چگونه ؟؟ نگران نباشید فقط کافیه روی دکمه
New Connection کلیک کنید.

مرحله هشتم » در پنجره باز شده باید نام سرور را از قسمت Server name انتخاب کنید یا (.) قرار دهید ، و در قسمت Select or enter database name دیتابیس خود را انتخاب کنید ، وروی دکمه OK کلیک کنید. به تصویر زیر دقت کنید.

در مرحله نهم » بعد از کلیک کردن بروی دکمه OK در مرحله قبل ، پنجره جاری بسته می شود ، و پنجره زیر مشاهده میکنید ، که نام مدل اینتیتی در آن نوشته می شود ، بروی دکمه Next کلیک کنید . به تصویر دقت کنید .

مرحله دهم » گزینه Entity Framework6.x را انتخاب کنید ، و روی دکمه Next کلیک کنید.

مرحله یازدهم »در پنجره باز شده ، جدول خود را انتخاب کنید ، و در پایان روی دکمه Finish کلیک کنید.

خب دوستان با طی مراحل بالا ، جداولتان در محیط مدل اضافه می شوند ، آن را ذخیره کرده و از محیط آن خارج شوید.

به تصویر دقت کنید ، که باید مدل به پروژتون اضافه شده باشد .
• سوال : در این همه مراحلی که انجام دادیم ، چه کاری قراره اتفاق بیفتد ؟
جواب : نگران نباشید ، قرار بود عملیات ثبت ، ویرایش ، حذف ، نمایش اطلاعات در دیتاگرید به شما آموزش بدهیم.

خیلی خب ، فرمتون را به شکل زیر طراحی کنید .

خیلی خوب اینجا طراحی ما به پایان رسید ، والان سراغ کد نویسی میرویم.
اکثر سوال های دوستان با نمایش اطلاعات در دیتاگرید ویو مشکل دارند.
 چه روشی باید کار کنم ؟
 آیا باید از Data Set استفاده کنم ؟؟
 چرا با جابجایی پروژم در سیستم مقصد باز نمی شود و با خطا مواجه میشوم و …

دراین مقاله : من سعی کردم تمام تجربیاتم را در اختیارتون بگذارم ، چون واقعا وقت زیادی برای رسیدن به این همه سوالات گذاشتم.
خیلی خوب ، شروع کنیم.
مرحله اول » دیتاگرید را انتخاب کنید ، و فلش سمت راست را کلیک کرده ، در منوی باز شده ، با گزینه Add column مواجه می شوید آن را انتخاب کنید . به تصویر زیر دقت کنید.
۱-روی Add Column کلیک کنید.
۲- در پنجره باز شده ، اسم لاتین فیلدتون که در جدول قرار دادید و اسم فارسیش را در قسمت بعدیش تایپ نمایید.
نکته : تک تک فیلد هایی که در جدولتون دارید ، دراین قسمت اضافه نمایید. به تصویر زیر دقت کنید .

باید دیتا گرید مانند تصویر زیر باشد

کد نویسی
 اولین مرحله : اطلاعات دیتابیس را باید در دیتاگرید نمایش بدهیم.
به چه صورت ؟
یک متد با نام FildGrid تعریف میکنیم.مثل تصویر زیر عمل کنید .
 مرحله دوم : متد را در Form1_Load قرار بدید.

  • مرحله سوم : ثبت اطلاعات

روی دکمه ذخیره دابل کلیک کنید و دستورات ذخیره را بنویسید.

  • مرحله چهارم :حذف

برای حذف کردن اطلاعات باید یک مقداری را از دیتاگرید ویو بگیریم ، و آن را در شرط قرار بدهیم ،اگر مقدار گرفته شده با مقدار شرطی که در جدول یکسان بود ، آن را حذف میکند.

نکته : یادتان باشد که همیشه و همیشه عملیام حذف  و ویرایش براساس ID جدول صورت میگیرید. به تصویر زیر دقت کنید.

 

 

  • مرحله پنجم : ویرایش
  • ویرایش چگونه کار میکند ؟

برای ویرایش باید اطلاعات مورد ویرایش را به سمت TextBox  ها برگرداننده شود ، حالا آن ها را تغییر کرده ، وروی دکمه ویرایش کلیک میکنیم. تا اطلاعات ویرایش شوند .

  • خوب به چه صورت آن را بنویسیم؟

مراحل زیر را طی کنید.

  • مرحله اول : دیتاگرید ویو را انتخاب کنید ، و رویداد CellClick  دابل کلیک کنید. به تصویر زیر دقت کنید.

و دستورات را در قسمت رویداد بنویسید. به تصویر زیر دقت کنید.

  • مرحله دوم :در نهایت روی دکمه ویرایش کلیک کنید و دستورات مربوطه را بنویسید.

جستجو : چگونه براساس نام جستجو کنم؟
ولی اینبار بصورت انلاین جستجو انجام میدهیم ، یعنی با نوشتن متن در تکس باکس ، جستجو صورت میگیرد.

و روی دکمه خروج کلیک کنید و دستور Appliction.Exit(); را بنویسید.

و پروژه را اجرا کنید…

نظرات

  • محمود زمانی
    آذر ۱۰, ۱۳۹۷

    سلام
    خوب بود ساده و روان توضیح داده شده

    • ضحی شبر
      آذر ۱۱, ۱۳۹۷

      سلام
      از اینکه این مطلب مورد توجه شما قرار گرفت بسیار خوشحالیم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *