آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

معرفی Entity Framework Core

دوره های مرتبط با این مقاله

معرفی Entity Framework Core

Entity Framework Core نسخه جدید از Entity Framework 6.X به بالاست، متن باز، سبک ، قابل توسعه و cross-platform است.

Entity Framework یک Object/Relational Mapping (O/RM) framework است که برای ارتقاء ADO.NET است که ذخیره و بازیابی داده از دیتابیس را برای توسعه دهندگان راحت کرده است.

EF Core برای استفاده در اپلیکیشن های توسعه یافته با NET Core. است. با این حال، می توان آن را در اپلیکیشن های توسعه یافته با standard .NET framework 4.5 به بعد نیز قابل استفاده است.

در شکل زیر انواع اپلیکیشن های پشتیبانی شده، نسخه های NET Framework. و سیستم عامل ها را می بینید:


معرفی Entity Framework Core
نسخه های EF Core
EF Core Version
Release Date
EF Core 2.0
August 2017
EF Core 1.1
November 2016
EF Core 1.0
June 2016

لینک های مفید



رویکردهای توسعه در EF Core

EF Core دو رویکرد توسعه را پشتیبانی می کند: Code First و Database First. فریمورک EF Core اساسا برای توسعه به روش Code First ساخت شده و پشتیبانی کمی برای توسعه Database First ارائه می دهد. visual designer یا wizard برای DB model از EF Core 2.0 به بعد پشتیبانی نشده است.

در رویکرد Code First، خود EF Core API با استفاده از migration و براساس قراردادها و config هایی که در کلاس های دامین تعیین شده دیتابیس ها و جدول ها را می سازد. این رویکرد برای طراحی Domain Driven Design مناسب است.

مدل Database-first به این صورت است که EF Core API دامین و کلاس های context را براساس دیتابیس موجود و با استفاده از دستورات EF Core می سازد. این مدل پشتیبانی محدودی در EF Core دارد چرا که visual designer یا wizard را پشتیبانی نمی کند.


Code First و Db First

مقایسه EF Core و EF 6

EF Core نسخه جدید و ارتقاء یافته ای از Entity Framework است که برای نرم افزارهای مبتنی بر Net Core. بکار می رود و هنوز نسبت به EF 6 در ابتدای راه است. قابلیت های زیر مشابه EF 6 در EF Core نیز پشتیبانی می شود:

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

کم کم قابلیت های بیشتری از EF 6 در آن ارائه می شود. هنوز قابلیت هایی هست که در EF Core 2.0 پشتیبانی نمی شود مثل:

  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 پشتیبانی نمی شوند. مثل:

  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 و EF 6 استفاده کنید.

EF Core Database Providers

EF Core از یک provider model برای دسترسی به دیتابیس های مختلف استفاده می کند. این provider ها به صورت NuGet package هستند و قابلیت نصب دارند. در جدول زیر database provider ها و NuGet package های EF Core را می بینید:

  • 56
  •    0
  • تاریخ ارسال :   1398/06/12

دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .