Entity Framework Core EF Core vs EF6.x Side-by-side comparison


Example

The following table compares the features available(1) in EF Core and EF6.x.

It is intended to give a high level comparison and does not list every feature, or attempt to give details on possible differences between how the same feature works.

Creating a ModelEF6.xEF Core 1.0.0
Basic modelling (classes, properties, etc.)YesYes
ConventionsYesYes
Custom conventionsYesPartial
Data annotationsYesYes
Fluent APIYesYes
Inheritance: Table per hierarchy (TPH)YesYes
Inheritance: Table per type (TPT)Yes
Inheritance: Table per concrete class (TPC)Yes
Shadow state propertiesYes
Alternate keysYes
Many-to-many: With join entityYesYes
Many-to-many: Without join entityYes
Key generation: DatabaseYesYes
Key generation: ClientYes
Complex/value typesYes
Spatial dataYes
Graphical visualization of modelYes
Graphical drag/drop editorYes
Model format: CodeYesYes
Model format: EDMX (XML)Yes
Reverse engineer model from database: Command lineYes
Reverse engineer model from database: VS wizardYes
Incremental update model from databaseYes
Querying DataEF6.xEF Core 1.0.0
LINQ: Simple queriesStableStable
LINQ: Moderate queriesStableStabilizing
LINQ: Complex queriesStableIn-Progress
LINQ: Queries using navigation propertiesStableIn-Progress
“Pretty” SQL generationPoorYes
Mixed client/server evaluationYes
Loading related data: EagerYesYes
Loading related data: LazyYes
Loading related data: ExplicitYes
Raw SQL queries: Model typesYesYes
Raw SQL queries: Un-mapped typesYes
Raw SQL queries: Composing with LINQYes
Saving DataEF6.xEF Core 1.0.0
SaveChangesYesYes
Change tracking: SnapshotYesYes
Change tracking: NotificationYesYes
Accessing tracked stateYesPartial
Optimistic concurrencyYesYes
TransactionsYesYes
Batching of statementsYes
Stored procedureYes
Detached graph support (N-Tier): Low level APIsPoorYes
Detached graph support (N-Tier): End-to-endPoor
Other FeaturesEF6.xEF Core 1.0.0
MigrationsYesYes
Database creation/deletion APIsYesYes
Seed dataYes
Connection resiliencyYes
Lifecycle hooks (events, command interception, ...)Yes
Database ProvidersEF6.xEF Core 1.0.0
SQL ServerYesYes
MySQLYesPaid only, unpaid coming soon (2)
PostgreSQLYesYes
OracleYesPaid only, unpaid coming soon (2)
SQLiteYesYes
SQL CompactYesYes
DB2YesYes
InMemory (for testing)Yes
Azure Table StoragePrototype
RedisPrototype
Application ModelsEF6.xEF Core 1.0.0
WinFormsYesYes
WPFYesYes
ConsoleYesYes
ASP.NETYesYes
ASP.NET CoreYes
XamarinComing soon (3)
UWPYes

Footnotes:

(1) : As of 2016/10/18

(2) : Paid providers are available, unpaid providers are being worked on. The teams working on the unpaid providers have not shared public details of timeline etc.

(3) : EF Core is built to work on Xamarin when support for .NET Standard is enabled in Xamarin.