EF Core 8.0 (EF8) Preview 7
Pre-release
Pre-release
rbhanda
released this
08 Aug 21:06
·
1767 commits
to main
since this release
EF Core 8 (EF8) Preview 7 is available from NuGet
Preview 6 contains the following new features:
- Optimized translation for indexing of JSON primitive collections
- Translate DateOnly.FromDateTime
- Implement JSON serialization/deserialization via Utf8JsonReader/Utf8JsonWriter
- How to do a missing migration check in CI
- Update pattern for scaffolding column default constraints
In addition, Preview 2 contains the following features from Previews 1, 2, 3, 4, 5, and 6:
- Analyzer: warn (and code fix) for use of interpolation in SQL methods accepting raw strings
- Translate Contains to IN with subquery instead of EXISTS where relevant
- Support arbitrary expressions in inline collections (translate to VALUES)
- Allow inline primitive collections with parameters, translating to VALUES
- SQLite RevEng: Sample data to determine CLR type
- Allow default value check in value generation to be customized
- Update handling of non-nullable store-generated properties
- IN() list queries are not parameterized, causing increased SQL Server CPU usage
- Allow 'unsharing' connection between contexts
- Remove unneeded subquery and projection when using ordering without limit/offset in set operations
- Make SequentialGuidValueGenerator non-allocating
- Support querying over primitive collections
- JSON/Sqlite: use -> and ->> where possible when traversing JSON, rather than json_extract
- Add Generic version of EntityTypeConfiguration Attribute
- NativeAOT/trimming compatibility for Microsoft.Data.Sqlite
- Map collections of primitive types to JSON column in relational database
- Translate DateTimeOffset.ToUnixTime(Seconds|Milliseconds)
- Allow pooling DbContext with singleton services
- Optional RestartSequenceOperation.StartValue
- Generate compiled relational model
- Global query filters produce too many parameters
- Optimize update path for single property JSON element
- JSON columns can be used in compiled models
- Unneeded parentheses removed in SQL queries
- Set operations are supported over non-entity projections with different facets
- Json: add support for Sqlite provider
- SQL Server: Support hierarchyid
- Configuration to opt out of occasionally problematic SaveChanges optimizations
- Add convention types for triggers
- Translate element access of a JSON array
- Raw SQL queries for unmapped types
- Support the new BCL DateOnly and TimeOnly structs for SQL Server
- Translate ElementAt(OrDefault)
- Opt-out of lazy-loading for specific navigations
- Lazy-loading for no-tracking queries
- Reverse engineer Synapse and Dynamics 365 TDS
- Set MaxLength on TPH discriminator property by convention
- Translate ToString() on a string column
- Generic overload of ConventionSetBuilder.Remove
- Lookup tracked entities by primary key, alternate key, or foreign key
- Allow UseSequence and HiLo on non-key properties
- Pass query tracking behavior to materialization interceptor
- Use case-insensitive string key comparisons on SQL Server
- Allow value converters to change the DbType
- Resolve application services in EF services
- Numeric rowersion properties automatically convert to binary
- Allow transfer of ownership of DbConnection from application to DbContext
- Provide more information when 'No DbContext was found' error is generated
See GitHub for all issues resolved in Preview 1, Preview 2, Preview 3, Preview 4, Preview 5, Preview 6, and Preview 7.