Entity Framework 4 part ۲

در بخش قبل معرفی مختصر در مورد Entity Data Moule    یا مخفف EDMداشتیم ، اما در این بخش به شرح مفصلتری می پردازم

قبل از آن شما بانک اطلاعاتی northwind   را آماده کنید فایل این بانک را می توانید ازلینک دانلود کنید

ایجاد یک EDM

در نسخه های قبلی Entity Framework ما فقط می توانستیم برای بانک اطلاعاتی موجود از قبل یک مدل طراحی کنیم .که ما می توانستیم برای آن یک مدل مفهومی ایجاد کنیم .درواقع ما از بانک اطلاعاتی به مدل می رسیدیم ، اما حالا می خواهیم برعکس از مدل به بانک اطلاعاتی برسیم .

از مهمترین امکانات اضافه شده به Entity Framework 4 بصورت 2 مورد زیر است :

1-Model-first : به شما اجازه می دهد که ابتدا یک empty model ایجاد کنید ، و ابتدا model خودتان را تعریف کنید و سپس بانک اطلاعاتی و mapping و کلاسها را  بر اساس model تعریف شده ایجاد کنید .

2-Code-only: به شما اجازه می دهد که برای استفاده از Entity Framework  با استفاده از Plain Old CLR Objects یا مختصرا

POCO  درواقع Entity  خود را بدون استفاده از فایل EDMX ایجاد کنید .

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

آموزش حالت database-first approach

ما در اینجا با بانک اطلاعاتی northwind آموزش را ارایه می دهم با sql-server 2008 R2  و Visual Studio 2010  و دانت نت 4

شما می توانید از لینک زیر بانک اطلاعاتی را دانلود کنید .

خوب اکنون پس از نصب بانک اطلاعاتی سراغ vs  برویم و یک پروژه Windows Forms Application ایجاد می کنیم مطمن باشید که  .Net Framework 4  انتخاب شده باشد.

اکنون در پروژه ، سراغ منوی Project   بروید و گزینه  Add New Item را انتخاب کنید  مانند شکل زیر :

در شکل بالا دقت کنید که از قسمت سمت راست گزینه data  را انتخاب کنید و سپس گزینه ADO.NET Entity Data Model

را انتخاب کنید .با انتخاب این گزینه و وارد کردن نام مناسب ( در اینجا ما همان نام Model1.edmx را بصورت پیش فرض قبول می کنیم ) و دکمه Add را می زنیم .پس از آن وارد ویزارد Entity Data Model Wizard می شویم در این ویزارد ما گزینه

    Generates from database را انتخاب می کنیم و به مرحله بعدی می رویم .در این صفحه مطابق شکل زیر :

ما ابتدا باید مقدار connections را مشخص کنیم پس بر روی دکمه New Connection  کلیک کنید تا وارد صفحه Connection Properties بشوید در این صفحه ابتدا از قسمت نام سرور server name  نام سرور بانک اطلاعاتی را انتخاب کنید و برحسب تنظیمات دستگاه شما از لیست بانکهای اطلاعاتی نام بانکnorthwind  را انتخاب کنید .صفحه ویزارد شما مشابه شکل زیر خواهد شد .در این صفحه تیک مقابل جمله save entity connection ….. باعث می شود که رشته اتصال به بانک اطلاعاتی با همان نام مشخص شده در زیر آن در فایلی تحت عنوان App.config  ذخیره شود .اکنون به مرحله بعد می رویم مطابق شکل زیر



خوب اکنون در صفحه بالا جدولهای و view  ها و stored Procedure های بانک اطلاعاتی شما لیست می شوند.

در اینجا ما جدول Category  و جدول products را انتخاب می کنیم و از قسمت view ها Products by Category را انتخاب می کنیم همچنین از stored procedure هم SalesByCategory را انتخاب می کنیم . و سپس دکمه finish  را کلیک می کنیم .

نکته : حتما قبل از زدن دکمه finish دو تیک Pluralize  و include foreign…  را دیدید

Pluralize or singularize از مهمترین بهبودها در نسخه 4 EF است .در نسخه های قبلی EF  خاصیت

Entity Set Name and Entity Name properties  با یک نام بودند که این مساله باعث گیجی برنامه نویس می شد که خوشبختانه در این نسخه 4 امکان تفکیک براحتی فراهم شده است مثلا برای

category به شکل زیر دفت کنید



و در نهایت شما فایل module1.edmx  را باز کنید که مطابق شکل زیر نمای جداول بانک اطلاعاتی رادر فضای ماژولار EDM نمایش می دهد ،

فعلا نگران نباشید در بخشهای بعدی با جزییات بیشتر EDM  آشنا خواهیم شد

ادامه دارد...