Missing Features in Entity Framework Core
Updated: with EF Core 2.1.
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 |
The ability to do queries involving Date/Time operations (DbFunctions) and common SQL functions (SqlFunctions) in LINQ queries is not supported now. Will be available in a future version. |
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 |
Will be available in a future version. For now, we need a middle entity and table. |
Table Splitting |
https://github.com/aspnet/EntityFramework/issues/619 Implemented in EF Core 2.0. |
|
Table Per Type Inheritance Strategy |
Will be available in a future version. |
|
Table Per Concrete Type Inheritance Strategy |
Will be available in a future version. |
|
Mapping CUD with stored procedures | The ability to use stored procedures for doing inserts, updates and deletes seemlesly |
Will be available in a future version. |
Map database views | The ability to map views instead of tables |
Will be available in a future version. 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 |
Will be available in a future version. |
Custom conventions | The ability to add custom conventions |
Will be available in a future version. |
Populate non-model types from SQL | Turn the results of custom SQL into classes that are not part of the model |
Will be available in a future version. |
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 |
Will be available in a future version. https://github.com/aspnet/EntityFramework/issues/626 |
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 |
Will be available in a future version. |
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!
See Microsof't comparison of Core and pre-Core versions here: https://docs.microsoft.com/en-us/ef/efcore-and-ef6/features.
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