EF Core 5.0 Preview 8
Pre-release
Pre-release
EF Core 5.0 preview 8 is available on NuGet now!
New features in preview 8 include:
- Table-per-type (TPT) mapping
- Migrations: Rebuild SQLite tables
- Table-valued functions
- Flexible query/update mapping
- Context-wide split-query configuration
- PhysicalAddress mapping
- Add FieldInfo overload for NavigationBuilder
- Query generation for GroupBy with OwnsOne
- Support join after GroupByAggregate
- Generate a warning for multiple collection Includes
- Convert multiple equality on same column joined by Or/Else into SQL IN expression
- Make discriminator properties read-only be default
- Add an IDbContextFactory that pools context instances
- Cosmos: Allow PK with just the partition key
Remember that all these features from previous previews are also included in preview 8:
- Register a factory for DbContext instances in D.I.
- Clear all tracked entities to reset DbContext state
- New pattern for store-generated defaults
- Better support for Cosmos partition keys
- New Cosmos configuration options
- Scaffold-DbContext now singularizes
- Support for database savepoints
- Split queries for Include and projection of collections
- IndexAttribute
- Improved query translation exceptions
- Application-specified transaction IDs
- IPAddress mapping
- Option to exclude OnConfiguring when scaffolding
- Translations for FirstOrDefault, etc. on strings
- Simplification of case blocks in generated SQL
- Database collations
- Flow arguments into IDesignTimeDbContextFactory
- No-tracking queries with identity resolution
- Stored (persisted) computed columns
- SQLite computed columns
- Configure database precision/scale in model
- Specify SQL Server index fill factor
- Filtered Include
- Command-line parameters for namespaces when scaffolding a DbContext or generating migrations
- Command-line support for passing a connection string to [dotnet ef database update]/[Update-Database]
- EnableDetailedErrors provides more information in query mapping exceptions
- Improved support for using Cosmos partition keys in queries
- New ModelBuilder API for navigation properties
- Support for the SQL Server DATALENGTH function
- Use a C# attribute to specify a property backing field
- Complete discriminator mapping
- Performance improvements in Microsoft.Data.Sqlite
- Simple Logging
- Simple way to get generated SQL
- Use a C# attribute to indicate that an entity has no key
- Connection or connection string can be changed on initialized DbContext
- Change-tracking proxies
- Enhanced debug views
- Improved handling of database null semantics
- Indexer properties
- Generation of check constraints for enum mappings
- IsRelational method for differential model building
- Cosmos optimistic concurrency with ETags
- Query translations for more DateTime constructs
- Query translations for more byte array constructs
- Query translation for Reverse
- Query translation for bitwise operators
- Query translation for strings on Cosmos
The .NET Blog announcement has installation instructions and full details.