I’m compiling information for our next Adelaide .NET User Group meetup which is focusing on the launch of .NET 6 and Visual Studio 2022.

EF Core 6 is the next version of Entity Framework - aka Entity Framework Core 6. Don’t confuse this with the old ‘Entity Framework 6’ (the one you might have used with legacy .NET Framework applications)!

In January 2021, the major themes planned for Entity Framework Core 6 were outlined:

  • Highly requested features
  • Performance
  • Migrations and deployment
  • Improve existing features and fix bugs
  • .NET integration
  • Experiments and investigations

The blog post went into a bit more detail under each of these headings as to what each might entail.

In addition, the plan for Entity Framework Core 6.0 is also published on Microsoft Docs.

Preview 1

  • UnicodeAttribute
  • PrecisionAttribute
  • EntityTypeConfigurationAttribute
  • Translate ToString on SQLite
  • EF.Functions.Random
  • Support for SQL Server sparse columns
  • In-memory database: validate required properties are not null
  • Improved SQL Server translation for IsNullOrWhitespace
  • Database comments are scaffolded to code comments
  • Microsoft.Data.Sqlite
    • Savepoints API
    • Command timeout in the connection string

Preview 2

  • Preserve synchronization context in SaveChangesAsync
  • Translate String.Concat with multiple arguments
  • Smoother integration with System.Linq.Async
  • More flexible free-text search

Preview 3

No blog post for this release. See GitHub issue list for actual changes included.

Preview 4

  • The runtime perf push
  • Pooling and recycling, DbContext and beyond
  • Logging suppression
  • Opting out of thread-safety checks

Preview 5

  • Compiled models dramatically reduce startup time for your application
  • The models are generated (similar to how migrations are) so they should be refreshed whenever your model changes.
  • Some features are not currently supported by compiled models, so be aware of the limitations when you try them out.

Preview 6

  • Support for 64-bit identity seed values
  • Support for new BCL DateOnly and TimeOnly structs for SQLite
  • Uniquify and validate check constraint names
  • Pre-convention model configuration
  • The items on this list

Preview 7

  • Migration bundles - The migration bundle is a self-contained executable with everything needed to run a migration

There was also an additional post highlighting improvements to the Azure Cosmos DB Provider.

Release Candidate 1

  • EF Core 6.0 supports creating and modifying temporal tables mapped to entity types