Missing Features in Entity Framework Core
Updated: see my post here for info on EF Core 8.
Here’s a brief summary of some of the features that were present in previous versions of Entity Framework (6.x) and were excluded (or are not yet implemented) as of Entity Framework Core 2.1:
Feature | Description | Reason/Workaround |
Entity Type Configuration | The ability to load entity configuration from classes in the same assembly as the context (EntityTypeConfiguration) |
https://github.com/aspnet/EntityFramework/issues/2805 Implemented in EF Core 2.0. |
Lazy loading | The ability to load entity relations after the root entity was loaded, automatically |
https://github.com/aspnet/EntityFramework/issues/3797 Implemented in EF Core 2.1. |
Explicit loading | The ability to load entity relations after the root entity was loaded, explicitly |
https://github.com/aspnet/EntityFramework/issues/3797 Implemented in EF Core 1.1. |
Support for Group By | Specifying GroupBy in a LINQ query |
https://github.com/aspnet/EntityFramework/issues/2341 Implemented in EF Core 2.1. |
Support for user defined functions |
Using static methods as UDFs |
https://github.com/aspnet/EntityFramework/issues/4319 Implemented in EF Core 2.0. |
DateTime, TimeSpan operations and common SQL functions | Doing DateTime operations and using common SQL functions in LINQ |
https://github.com/aspnet/EntityFramework/issues/2850 https://github.com/aspnet/EntityFrameworkCore/issues/6025 Implemented |
Complex Values | Support for properties of complex types (value objects) |
https://github.com/aspnet/EntityFramework/issues/246 Implemented in EF Core 2.0. |
Many to Many Collections | Many-to-many relations without a middle entity/table |
https://github.com/aspnet/EntityFramework/issues/1368 Implemented |
Table Splitting |
https://github.com/aspnet/EntityFramework/issues/619 Implemented in EF Core 2.0. |
|
Table Per Type Inheritance Strategy |
https://github.com/aspnet/EntityFramework/issues/2266 Implemented |
|
Table Per Concrete Type Inheritance Strategy |
https://github.com/aspnet/EntityFramework/issues/3170 Implemented |
|
Mapping CUD with stored procedures | The ability to use stored procedures for doing inserts, updates and deletes seemlesly |
https://github.com/aspnet/EntityFramework/issues/245 Implemented |
Map database views | The ability to map views instead of tables |
https://github.com/aspnet/EntityFramework/issues/1679 https://github.com/aspnet/EntityFramework/issues/827 Implemented in EF Core 2.1. |
Spatial data types | The ability to query and use spatial data types |
https://github.com/aspnet/EntityFramework/issues/1100 Implemented |
Custom conventions | The ability to add custom conventions |
https://github.com/aspnet/EntityFramework/issues/214 Implemented |
Populate non-model types from SQL | Turn the results of custom SQL into classes that are not part of the model |
https://github.com/aspnet/EntityFramework/issues/240 Implemented |
Connection resiliency support | The ability to retry connecting and sending queries |
https://github.com/aspnet/EntityFramework/issues/237 Implemented in EF Core 1.1. |
Seeding data in migrations | The ability to add data when migrating |
https://github.com/aspnet/EntityFramework/issues/629 Implemented in EF Core 2.1. |
Command and query interception | The ability to intercept queries and SQL commands |
https://github.com/aspnet/EntityFramework/issues/626 https://github.com/aspnet/EntityFramework/issues/4048 https://github.com/aspnet/EntityFramework/issues/737 Implemented |
Visual Studio support for generating/updating entities from the database and viewing the model | The ability to generate the model from the database from inside Visual Studio and to view the model graphically |
Will be available in a future version. |
Database initializers | Database initializers | Dropped. |
Automatic migrations | Automatic migrations | Dropped. |
Pluralization Service | Pluralization Service |
https://github.com/aspnet/EntityFramework/issues/2506 Implemented in EF Core 2.0. |
ObjectContext events | SavingChanges and ObjectMaterialized events of ObjectContext |
https://github.com/aspnet/EntityFramework/issues/3204 https://github.com/aspnet/EntityFrameworkCore/issues/626 Implemented |
ObjectContext (Entity SQL) | Entity SQL | Dropped. |
Model first approach | Model first approach | Dropped. |
Data Annotations validations | The ability to perform data annotations validations before saving changes | Dropped. |
Support for System.Transactions | The ability to use TransactionScope ambient transactions |
https://github.com/aspnet/EntityFrameworkCore/issues/5595 https://github.com/dotnet/corefx/issues/12534 Implemented in EF Core 2.1. |
Please let me know if you think I missed something!
For the most up to date roadmap, please consult the EF Core roadmap: https://github.com/aspnet/EntityFramework/wiki/Roadmap.
Also, do check out the Entity Framework issue tracker: https://github.com/aspnet/EntityFramework/issues