Entity Framework یک ORM می باشد، ORM ابزاری برای تبدیل (نگاشت) اطلاعات بین Database (پایگاه داده) شیءگرا و برنامه کاربردی است و مانند یک مترجم بین زبان برنامهنویسی و پایگاه داده شیء گرا عمل می کند.
روشهای مدلسازی در Entity Framework 4.1
سه روش مدلسازی توسط Entity Framework 4.1 معرفی شد که عبارتند از:
- Code First
- Model First
- Database first
۱- مدل Code First
Code first امکان تشریح یک مدل با استفاده از کلاس های #C یا VB.NET و سپس ایجاد پایگاه دادهای از این کلاسها را فراهم میکند؛ این کلاسها به عنوان کلاسهای POCO شناخته میشوند.
این روش برنامه نویسان را قادر میسازد که بطور کامل در ساختار object-oriented (شی گرا) کار کنند و به ساختار پایگاه داده کاری نداشته باشند، بنابر این در کدنویسی به جای استفاده مستقیم از جداول پایگاه داده بر روی اشیاء کار کنند،
این ساختار باعث میشود که برنامههای کاربردی منطقیتر و انعطاف پذیر تر ایجاد شود.
در این روش کدهای برنامه مشخص کننده نگاشتها و روابط پایگاه داده میباشد و چون کد مشخص کننده پایگاه داده میباشد امکان اعمال تغییرات دستی در پایگاه داده وجود ندارد.
استفاده از روش Code First:
برای استفاده از این روش نیاز به Visual Studio 2010 یا Visual Studio 2012 وجود دارد. همچنین در صورت استفاده از Visual Studio 2010 باید NuGet نیز نصب گردد.
پس از انتخاب و نصب ابزار مراحل زیر را جهت استفاده از مدل Code First انجام دهید:
- ایجاد برنامه کاربردی: ابتدا از طریق Visual Studio یک پروژه جدید ایجاد نمائید.
- ایجاد مدل: تعریف مدل برنامه و ایجاد کلاسها و اشیا
- ایجاد context: در این مرحله یک چارچوب برای ارتباط با پایگاه داده جهت ذخیره دادهها و اجرای query تعریف میکنید.
- خواندن و نوشتن دادهها
در این مدل از طریق DbContext یک پایگاه داده برای پروژه و بر اساس مدل تعریف شده ایجاد میگردد. اگر instance از SQL Express موجود باشد، این پایگاه داده بر روی این instance نصب خواهد شد در غیر اینصورت code first پایگاه داده را در LocalDb (بهصورت پیش فرض با Visual Studio 2012 نصب میشود) ایجاد خواهد نمود.
با استفاده از Server Explorer در Visual Studio میتوان به پایگاه داده متصل شد.
۲- مدل Database First
در Database First، مدلی از پایگاه داده موجود (مثل SQL Server, Oracle, DB2) ایجاد میشود؛ ابتدا پایگاه داده ایجاد، طراحی و فایل XMLایی با پسوند EDMX از آن تولید میشود، سپس بسته به این طراحی مدلی از کلاسها و اشیا با استفاده از visual studio و Entity Framework Designer ایجاد میگردد.
در Database First بالاترین اولویت با پایگاه داده سپس کد و مدل میباشد.
۳- مدل Model First
در Model first مدلی از اشیا، روابط و سلسله مراتب ارثبری در یک فایل (.edmx file) طراحی شده و پس از آن یک پایگاه داده ایجاد میشود.
این روش مناسب برای زمانی که برنامه نویس ساختار پایگاه داده و دادهها را تجسم میکند (مدلسازی دادهها)، میباشد و نیازی به نوشتن کد برنامه یا SQL در زمان مدلسازی دادهها نیست.
در این روش کنترل زیادی بر روی entityها و پایگاه داده وجود ندارد. این روش به ندرت و در پروژههای کوچک استفاده میشود.