Entity Framework یکی از محبوب‌ترین فناوری‌های مایکروسافت برای مدیریت و دسترسی به داده‌ها در برنامه‌های .NET است. ایده اصلی آن کاهش پیچیدگی کار با دیتابیس و حذف نیاز به نوشتن کوئری‌های SQL در سطح کد برنامه می‌باشد. به کمک این ابزار، توسعه‌دهندگان می‌توانند به‌جای کار مستقیم با جداول و ستون‌ها، با کلاس‌ها و اشیاء در زبان C# کار کنند.

تاریخچه Entity Framework

نسخه اولیه EF در سال ۲۰۰۸ همراه با .NET Framework معرفی شد. این نسخه اگرچه ساده بود، اما به‌سرعت به ابزاری پرکاربرد در توسعه برنامه‌های سازمانی تبدیل شد. پس از آن نسخه‌های جدیدتر با امکاناتی مانند Code First، Migration و بهبود در Performance عرضه شدند.

در سال ۲۰۱۶، مایکروسافت نسخه جدیدی با نام Entity Framework Core (EF Core) معرفی کرد. این نسخه کاملاً بازنویسی شده، ماژولار و متن‌باز بود و امکان اجرا روی پلتفرم‌های مختلف (Windows, Linux, macOS) را فراهم کرد.

تفاوت EF6 و EF Core

  • Cross-Platform: EF6 فقط روی .NET Framework اجرا می‌شد، اما EF Core روی .NET 5+ و سیستم‌عامل‌های مختلف قابل استفاده است.
  • عملکرد: EF Core سبک‌تر، سریع‌تر و ماژولارتر از EF6 است.
  • ویژگی‌ها: EF Core از قابلیت‌های جدیدی مانند LINQ پیشرفته، Global Query Filters و Shadow Properties پشتیبانی می‌کند.
  • محدودیت‌ها: EF6 هنوز برخی ویژگی‌های قدیمی مانند EDMX Designer را دارد، اما در EF Core این موارد حذف یا جایگزین شده‌اند.

ORM چیست و چرا استفاده می‌کنیم؟

ORM یا Object-Relational Mapping روشی است که به کمک آن می‌توان داده‌های ذخیره‌شده در دیتابیس‌های رابطه‌ای را به اشیاء زبان‌های برنامه‌نویسی شی‌گرا (مانند C#) نگاشت کرد. این یعنی به‌جای نوشتن دستورات SQL، می‌توان از کلاس‌ها و متدها برای مدیریت داده‌ها استفاده کرد.

مزایای استفاده از ORM:

  • کاهش حجم کدهای SQL در پروژه
  • افزایش سرعت توسعه و نگهداری نرم‌افزار
  • سازگاری بهتر با معماری‌های شی‌گرا
  • امکان تغییر آسان دیتابیس بدون تغییر در منطق برنامه

در ادامه این مجموعه مقالات، به‌صورت عملی با روش‌های Code First و Database First در EF Core آشنا می‌شوید.