EF Core 8 (EF8) RC 1
Pre-release
Pre-release
rbhanda
released this
12 Sep 19:14
·
614 commits
to release/8.0
since this release
EF Core 8 (EF8) RC 1 is available from NuGet
RC 1 contains the following new features:
- Implement complex types (value objects)
- Support LINQ querying of non-primitive collections within JSON
- Json: add support for collection of primitive types inside JSON columns
- SQLite: Translate more Math members
- JSON type representations and conversions to store types
- Metadata and type mapping support for primitive collections
- Translate DegreesToRadians
- Switch to storing enums as ints in JSON instead of strings
- Only discover complex types when configured through pre-convention model configuration
- Query: add support for projecting primitive collections from JSON entities
- Use IN instead of EXISTS with ExecuteDelete and entity containment
- Allow ExecuteUpdate to update properties of multiple queries as long as the map to a single table
In addition, Preview 2 contains the following features from Previews 1, 2, 3, 4, 5, 6, and 7:
- 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
- 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, Preview 7, and RC 1.