Updated: with EF Core 1.1 and 2.0.
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) in Entity Framework Core 2.0:
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 |
Will be available in a future version. For now, we need to use eager loading (Include). |
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 |
Currently it falls back silently to LINQ to Objects, meaning, brings everything from the database and groups in memory. Will be available in a future version. For now, use plain SQL. |
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. |
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 |
Will be available in a future version. |
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 and distributed transactions |
Will be available in a future version. |
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
Best comparison between Entity Framework and the Entity Framework 2.0 Core. Some of them may be improved in upcoming update.