معرفی Entity FrameWork Core

Entity Framework Core یک تکنولوژی جدید برای دسترسی به پایگاه داده می باشد.

معرفی Entity FrameWork Core

Entity Framework Core یک تکنولوژی جدید برای دسترسی به پایگاه داده می باشد. در اصل این تکنولوژی طراحی شده است تا توسعه دهندگان نرم افزار قادر باشند Domain Class های خود را طراحی نموده و بعد با آن ها به عنوان جداول رابطه ای کار کنند.

EF Core یک ORM یا object-relational mapper است که امکان کار با بانک های اطلاعاتی مختلف را از طریق اشیاء NET. میسر می کند. توسط EF Core قسمت عمده کدهای مستقیم کار با بانک اطلاعاتی حذف شده و تبدیل به کدهای NET. می شوند. کار با اشیاء NET. و LINQ، مزایایی نظیر تحت نظر قرار گرفتن کدها توسط کامپایلر و برخورداری از ابزارهای Refactoring پیشرفته را میسر می کند.

Entity Framework Core نسخه جدید Entity Framework بعد از EF 6.x است. Entity Framework Core سبک، قابل توسعه، open source و یک نسخه multi-platform از تکنولوژی دسترسی به داده Entity Framework است.

Entity Framework Core یک ORM (Object Relational Mapping) است و به برنامه نویسان یک مکانیزم خودکار برای دسترسی و ذخیره داده ها در دیتابیس را می دهد.

EF Core برای استفاده با برنامه های NET Core. در نظر گرفته شده است. با این وجود، می توان از آن با برنامه های استاندارد NET +4.5 استفاده کرد.

شکل زیر پشتیبانی از انواع برنامه های چارچوب های دات نت و سیستم عامل را نشان می دهد.

آموزش Entity Framework Core

EF Core از دو رویکرد توسعه پشتیبانی می کند

  1. Code-First
  2. Database-First

EF Core عمدتا رویکرد Code-First را دنبال می کند و از رویکرد Database-First پشتیبانی چندانی نمی کند. در رویکرد Code-First، EF Core API پایگاه داده و جداول را با استفاده از migration بر اساس قراردادها و پیکربندی های موجود در Domain class های شما ایجاد می کند. این روش در Domain Driven Design مفید است.

آموزش Entity Framework Core

EF Core vs EF 6

Entity Framework Core نسخه جدید و بهبود یافته Entity Framework برای برنامه های NET Core. است. EF Core جدید است، بنابراین هنوز به اندازه EF 6 بالغ نیست. EF Core همچنان از ویژگی ها و مفاهیم زیر، مانند EF 6  پشتیبانی می کند.

  1. DbContext & DbSet
  2. Data Model
  3. Querying using Linq-to-Entities
  4. Change Tracking
  5. SaveChanges
  6. Migrations

EF Core بسیاری از ویژگی های EF 6 را به تدریج شامل می شود. با این حال، برخی از ویژگی های EF 6 وجود دارد که در EF Core پشتیبانی نمی شوند مانند:

  1. EDMX/ Graphical Visualization of Model
  2. Entity Data Model Wizard (for DB-First approach)
  3. ObjectContext API
  4. Querying using Entity SQL.
  5. Automated Migration
  6. Inheritance: Table per type (TPT)
  7. Inheritance: Table per concrete class (TPC)
  8. Many-to-Many without join entity
  9. Entity Splitting
  10. Spatial Data
  11. Lazy loading of related data
  12. Stored procedure mapping with DbContext for CUD operation
  13. Seed data
  14. Automatic migration

EF Core شامل ویژگی های جدید زیر است که در EF 6.x پشتیبانی نمی شوند:

  1. Easy relationship configuration
  2. Batch INSERT, UPDATE, and DELETE operations
  3. In-memory provider for testing
  4. Support for IoC (Inversion of Control)
  5. Unique constraints
  6. Shadow properties
  7. Alternate keys
  8. Global query filter
  9. Field mapping
  10. DbContext pooling
  11. Better patterns for handling disconnected entity graphs

EF Core Database Providers

Entity Framework Core از یک مدل Provider برای دسترسی به بسیاری از Database های مختلف استفاده می کند. EF Core شامل Providerهایی به عنوان بسته های NuGet است که شما باید نصب کنید. در جدول زیر Providerهای پایگاه داده و بسته های NuGet برای EF Core آورده شده است.

آموزش Entity Framework Core
آموزش entity framework core معرفی entity framework core دوره آموزشی ef core آموزش ef core