در این مقاله به بررسی Entity Framework و تاریخچه آن میپردازیم. Entity Framework و Entity Framework Core  فریم ورک هایی هستند که امکان ارتباط با دیتابیس را مهیا میسازند. با استفاده از این فریم ورک ها شما میتوانید جداول, کوئری, LINQ و عملیات مربوط به دیتابیس Create, Read, Update, Delete را انجام دهید.

بعد از چند سال تغییرات در Entity Framework بالاخره EF Core از نو نوشته شد.

  • Entity Framework 1 : اولین ورژن EF بود که با دات نت 3.5 سازگار نبود اما پس از مدتی با ورژن دات نت 3.5 SP1 سازگار شد. محصول دیگری که ارائه شده بود و با دات نت 3.5 سازگار بود LINQ to SQL بود. EF و LNIQ to SQL هردو ویژگی های مشابهی داشتند هرچند که LINQ to SQL فقط با دیتابیس sqlserver کار میکرد اما EF از سایر دیتابیس های موجود نیز پشتیبانی میکرد.
  • Entity Framework 4 : سپس EF4 همراه با دات نت 4 ارائه شد. پیشرفت های اساسی در این ورژن ایجاد شد و خیلی ها از LINQ to SQL اضافه شدند. به دلیل تغییرات بزرگ از ورژن های 2 و 3 رد شدند. در ورژن 4 امکان Lazy Loading فعال شد که میتوانستید با استفاده از آن در رابطه های بین جداول وارد شوید. قبلا فقط میتوانستید به یک صورت دیتابیس خود را درست کنید و آن Database First بود و در این روش باید جداول و دیتابیس خود را در Sql ایجاد کنید و سپس در برنامه با استفاده از EF از آن استفاده کنید. اما در این ورژن امکان جدیدی به نام Model First یا Code First فراهم شد که بعدا توضیح داده میشود. در آپدیت های بعدی 4.1 و 4.2 ویژگی هایی اضافه شدند همراه با NuGet package. با استفاده از NuGet امکان اضافه کردن ویژگی های جدید سریع تر بود. EF 4.3 امکان استفاده از Migration را اضافه کرد و این قابلیت را اضافه کرد که با استفاده از زبان #C بتوان ساختار دیتابیس را تغییر داد.
  • Entity Framework 5 : این ورژن از EF از طرف هردو ورژن دات نت 4 و 4.5 پشتیبانی می شد. اما برخی از ویژگی EF 5 فقط بر روی دات نت 4.5 قابل اجرا بودند. EF هنوز هم بر اساس دات نت نصب شده بر روی سیستم کار میکرد.
  • Entity Framework 6 : در این ورژن کمی از مشکلات EF 5 حل شد.به عنوان مثال بخشی از EF که بر روی دات نت نصب شده بر روی سیستم بود و بخشی دیگر از طریق NuGet قابل دسترسی بود در این ورژن تمام کد EF به NuGet منتقل شد.
  • Entity Framework Core : این ورژن از EF یک نام جدید گرفت و به طور کامل از اول نوشته شد. EF Core فقط بر روی ویندوز کار نمیکند, بلکه بر روی Linux و Mac هم قابل اجرا میباشد. همچنین از دیتابیس های رابطه ای و NoSQL نیز پشتیبانی میکند.