در مطلب های پیشین تا اندازه ای در مورد ADO.NET صحبت کردیم و طبق این دوره، از این مطب می خواهیم آموزش Entity Framework را آغاز کنیم. Entity Framework به عنوان ORM در محیط NET Framework است که از آن می توانیم در زبان برنامه نویسی سی شارپ و برای ایجاد برنامه های داده محور در برنامه نویسی وب و برنامه نویسی گرافیکی ویندوز استفاده کنیم. ADO.NET مبتنی بر نوشتن دستورهای SQL است در حالی که در Entity Framework نیازی به نوشتن کوئری های (پرس و جوهای) SQL نیست بلکه از کلاس ها و اشیا سی شارپ برای تعامل با پایگاه داده استفاده می شود.

بنابراین Entity Framework یک ORM است که برنامه نویس های Dot Net را قادر می سازد تا بتوانند بر روی پایگاه داده ها و اشیا آن (مانند جدول ها) از طریق کلاس ها و اشیا زبان برنامه نویسی (در اینجا سی شارپ) کار کنند. تمامی موارد مانند ایجاد جدول ها، دسترسی به داده ها، درج و بروز رسانی و حذف داده ها توسط کلاس ها و متدهای نوشته شده به زبان برنامه نویسی (در اینجا سی شارپ) انجام می شود.

در مطلب های پیش رو، مفاهیم مرتبط با Entity Framework مانند کلاس دامنه (Domain Class)، موجودیت (Entity)، مدل (Model)، فراهم کننده داده (Data Provider) و رویکردهای Entity Framework را آموزش داده ایم. Entity Framework به صورت متن باز ارائه شده است. حتی مایکروسافت نسخه و رویکرد جدیدی به نام Dot Net Core را ارائه کرده است که اجازه می دهد درون سیستم عامل های ویندوز، لینوکس و مکینتاش برنامه نویسی سی شارپ را برای فریم ورک ASP.NET MVC Core به همراه Entity Framework Core انجام دهیم.

در مطلب های این دوره تمرکز ما بر روی Entity Framework 6 و 5 ASP.ENT MVC  است ولی اگر مطلب های این دوره را یاد بگیرید، خواهید دید که مفاهیم و معماری Entity Framework 6 همانند مفاهیم Entity Framework Core است با این تفاوت که Entity Framework Core دارای برخی ویژگی های بیشتر . جدیدتر نسبت به Enntity Framework 6 است. همچنین مفاهیم ASP.NET MVC با مفاهیم ASP.ENT MVC Core یکسان است. مایکروسافت Dot Net Core را به صورت متن باز برای اجرا شدن چند سکویی (Multi Platform) ارائه کرده و برای این منظور Dot Net Core  را از نو نوشته است.

Entity Framework تمامی تغییرات روی موجودیت ها ایجاد شده اند را توسط متدی به نام ()saveChanges به پایگاه داده و جدول های مرتبط اعمال می کند. همچنین Entity Framework از برنامه نویسی ناهمگام (Asynchronous) نیز پشتیبانی می کند، از این رو متد دیگری به نام ()saveChangesAsync نیز وجود دارد که تغییرها را به پایگاه داده اعمال می کند.

Entity Framework واسطه ای است میان برنامه و پایگاه داده رابطه ای که توانایی نگاشت کلاس های دامنه برنامه به اسکیما (Schema) پایگاه داده رابطه ای را دارد. یک اسکیما پایگاه داده رابطه ای شامل چندین شی متفاوت است که جدول ها و نماها (View) تنها دو گونه از این شی ها هستند.

در مطلب های پیش رو رویکردهای متفاوت Entity Framework و چگونگی ایجاد مدل و مفاهیم متفاوت در Entity Framework مانند Context و ایجاد کلاس های موجودیت (Entity Class) و ایجاد رابطه میان آنها و دیگر موارد و مفاهیم درون Entity Framework آموزش داده شده اند. پس از بررسی رویکرد Code First به سراغ مفاهیم ASP.NET MVC خواهیم رفت.