dotnet / efcore

EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.
https://docs.microsoft.com/ef/
MIT License
13.69k stars 3.17k forks source link

Entity Framework Biweekly Status Updates (2021) #23884

Closed ajcvickers closed 1 year ago

ajcvickers commented 3 years ago

Biweekly status updates for 2022

Expand to see additional information from the end of 2021...

This issue contains status updates from the Entity Framework team to provide insight into what we are focused on, progress made, and other interesting highlights of current work. [Jump to latest update](https://github.com/dotnet/efcore/issues/23884#issuecomment-996007942) ### More Information Broader information on EF Core planning can be found in the [EF Core roadmap](https://docs.microsoft.com/ef/core/what-is-new/roadmap). Use GitHub queries to find full details of: * Issues [fixed for EF Core 6.0.0](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.0+is%3Aclosed) * Issues [fixed for EF Core 6.0.1](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.1+is%3Aclosed) * Issues [fixed for EF Core 6.0.2](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.2+is%3Aclosed) but not yet shipped * Issues [fixed for EF Core 5.0.0](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.0+is%3Aclosed) * Issues [fixed for EF Core 5.0.1](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.1+is%3Aclosed) * Issues [fixed for EF Core 5.0.2](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.2+is%3Aclosed) * Issues [fixed for EF Core 5.0.3](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.3+is%3Aclosed) * Issues [fixed for EF Core 5.0.4](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.4+is%3Aclosed) * Issues [fixed for EF Core 5.0.5](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.5+is%3Aclosed) * EF Core 5.0.6 contains only dependency updates * EF Core 5.0.7 contains only dependency updates * Issues [fixed for EF Core 5.0.8](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.8+is%3Aclosed) * Issues [fixed for EF Core 5.0.9](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.9+is%3Aclosed) * EF Core 5.0.10 contains only dependency updates * Issues [fixed for EF Core 5.0.11](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.11+is%3Aclosed) * Issues [fixed for EF Core 5.0.12](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.12+is%3Aclosed) * EF Core 5.0.13 contains only dependency updates * Issues [fixed for EF Core 3.1.0](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.0+is%3Aclosed) * Issues [fixed for EF Core 3.1.1](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.1+is%3Aclosed) * EF Core 3.1.2 contains only dependency updates * Issues [fixed for EF Core 3.1.3](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.3+is%3Aclosed) * Issues [fixed for EF Core 3.1.4](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.4+is%3Aclosed) * EF Core 3.1.5 contains only dependency updates * Issues [fixed for EF Core 3.1.6](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.6+is%3Aclosed) * Issues [fixed for EF Core 3.1.7](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.7+is%3Aclosed) * EF Core 3.1.8 contains only dependency updates * Issues [fixed for EF Core 3.1.9](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.9+is%3Aclosed) * Issues [fixed for EF Core 3.1.10](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.10+is%3Aclosed) * Issues [fixed for EF Core 3.1.11](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.11+is%3Aclosed) * Issues [fixed for EF Core 3.1.12](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.12+is%3Aclosed) * EF Core 3.1.13 contains only dependency updates * Issues [fixed for EF Core 3.1.14](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.1.14+is%3Aclosed) * EF Core 3.1.15 contains only dependency updates * EF Core 3.1.16 contains only dependency updates * EF Core 3.1.17 contains only dependency updates * EF Core 3.1.18 contains only dependency updates * EF Core 3.1.19 contains only dependency updates * EF Core 3.1.20 contains only dependency updates * EF Core 3.1.21 contains only dependency updates * EF Core 3.1.22 contains only dependency updates * Issues [fixed for EF Core 3.0.0](https://github.com/aspnet/EntityFrameworkCore/issues?q=is%3Aissue+milestone%3A3.0.0+is%3Aclosed) > Please note that there is never a guarantee that an issue will be fixed in its assigned release. Re-evaluation of the plan throughout the release cycle sometimes results in issues being pushed out to a later release. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/aspnet/EntityFrameworkCore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

January 14, 2021

Expand to see status from this week...

## Highlights We're back with biweekly updates for 2021! Front and center this week is the [plan for EF Core 6.0!](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) - SQL Server temporal tables - JSON columns - Performance - Compiled models - Migrations bundles - EF6 query parity Plus much more! This plan is not set-in-stone and can change based on feedback, so let us know what you think by commenting on [this issue](https://github.com/dotnet/efcore/issues/23870). ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Not started | | [JSON columns](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Not started | | [Compiled models](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Not started | | [TechEmpower Fortunes](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Not started | | [Linker/AOT](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Not started | | [Value objects](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | In-progress | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ## EF Core 5.0.2 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.2). This release builds on all the features shipped in EF Core 5.0.1 with [12 important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.2+is%3Aclosed+). ## EF Core 3.1.11 EF Core 3.1.11 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.11). This is a patch release of containing only [critical bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.11+is%3Aclosed). ## Community Standups In case you missed it, check out the [latest EF community standup](https://www.youtube.com/watch?v=IiAS61uVDqE&feature=youtu.be) in which we share and discuss the results of the recent Entity Framework survey. The [EF Core Community Standups](https://www.youtube.com/playlist?list=PL1rZQsJPBU2Ry_KbYPklhVu0JhP0kOFbj) are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all uploaded to YouTube, so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## Pull requests merged in the last few weeks ### Community contributions - @RaymondHuy [implemented an attribute for configuring precision and scale](https://github.com/dotnet/efcore/pull/23424) - @KaloyanIT [contributed a fix to scaffold IsFixedLength() instead of IsFixedLength(true)](https://github.com/dotnet/efcore/pull/23666) - @RaymondHuy [added EF.Functions.IsNumeric](https://github.com/dotnet/efcore/pull/23232) - @RaymondHuy [added EF.Functions.Random](https://github.com/dotnet/efcore/pull/23145) - @carlreinke [fixed unexpected null in principal columns of foreign key](https://github.com/dotnet/efcore/pull/23694) - @umitkavala [fixed NullReferenceException when trying to seed a keyless entity](https://github.com/dotnet/efcore/pull/23562) - @pkellner [fixed URL to github simple logging project](https://github.com/dotnet/EntityFramework.Docs/pull/2954) - @khalidabuhakmeh [fixed a typo in the query docs](https://github.com/dotnet/EntityFramework.Docs/pull/2962) - @SimonCropp [added EfFluentValidation, LocalDb, add Verify.EntityFramework to extensions list](https://github.com/dotnet/EntityFramework.Docs/pull/2957) - @khellang [added EntityFrameworkCore.Sqlite.NodaTime to the extensions list](https://github.com/dotnet/EntityFramework.Docs/pull/2982) - @ErikEJ [added ErikEJ.EntityFrameworkCore.SqlServer.Dacpac and ErikEJ.EntityFrameworkCore.DgmlBuilder to the extensions list](https://github.com/dotnet/EntityFramework.Docs/pull/2984) - @Shirasho [fixed a typo in the context config docs](https://github.com/dotnet/EntityFramework.Docs/pull/2988) - @dennisseders [fixed incorrect spelling](https://github.com/dotnet/EntityFramework.Docs/pull/2987) - @DickBaker [updated some benchmarks](https://github.com/dotnet/EntityFramework.Docs/pull/2990) - @SimonCropp [updated dependencies in samples](https://github.com/dotnet/EntityFramework.Docs/pull/2959) - @dennisseders [fixed trailing white spaces](https://github.com/dotnet/EntityFramework.Docs/pull/2997) - @gurustron [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3010) - @dennisseders [changed setup to set up](https://github.com/dotnet/EntityFramework.Docs/pull/3007) Many thanks to all our contributors! ### EF Core - Documentation - [Add OperationCancellationException docs everywhere](https://github.com/dotnet/efcore/pull/23686) - [Add more model building breaking changes](https://github.com/dotnet/EntityFramework.Docs/pull/2938) - [Add more M2M configuration samples](https://github.com/dotnet/EntityFramework.Docs/pull/2945) - [Add lack of support for collections of primitive types as a limitation](https://github.com/dotnet/EntityFramework.Docs/pull/2953) - [Reference 5.0 API using xref](https://github.com/dotnet/EntityFramework.Docs/pull/2948) - [Performance guidelines](https://github.com/dotnet/EntityFramework.Docs/pull/2934) - [Improvements to value comparer docs](https://github.com/dotnet/EntityFramework.Docs/pull/2909) - [Added note about deprecation of ExecuteSqlCommand/Async](https://github.com/dotnet/EntityFramework.Docs/pull/2970) - [Rearrange the 5.0 what's new page](https://github.com/dotnet/EntityFramework.Docs/pull/2904) - [Add note on clustered indexes being one-per-table](https://github.com/dotnet/EntityFramework.Docs/pull/2976) - [Document index data annotation](https://github.com/dotnet/EntityFramework.Docs/pull/2978) - [Added breaking change for required decimal facets](https://github.com/dotnet/EntityFramework.Docs/pull/2974) - [Change tracker docs](https://github.com/dotnet/EntityFramework.Docs/pull/2972) - [Add .NET Standard 2.1 support to breaking changes](https://github.com/dotnet/EntityFramework.Docs/pull/2985) - [Add documentation for query null semantics](https://github.com/dotnet/EntityFramework.Docs/pull/2865) - [Update plan to do NRT annotations for 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3002) - [Improvements to value generation docs](https://github.com/dotnet/EntityFramework.Docs/pull/2998) - [Updates for EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3006) - [Re-write cascade delete documentation](https://github.com/dotnet/EntityFramework.Docs/pull/2996) - Testing - [Run SqlServer tests on Ubuntu in Helix](https://github.com/dotnet/efcore/pull/23177) - [Add Include tests with smaller datasets](https://github.com/dotnet/efcore/pull/23637) - [Re-enable Cosmos concurrency tests ](https://github.com/dotnet/efcore/pull/23662) - [Re-enable flaky CI tests on SqlServer on Ubuntu](https://github.com/dotnet/efcore/pull/23706) - [Query/Test: figure out how to represent shadow properties in expected result queries](https://github.com/dotnet/efcore/pull/23579) - [Query/OData: add test support for models requiring non-standard routing (e.g. "Order Details" table in Northwind)](https://github.com/dotnet/efcore/pull/23709) - [Fix build failures in SqlServer Ubuntu run](https://github.com/dotnet/efcore/pull/23733) - [Testing for ASP.NET Core Identity model](https://github.com/dotnet/efcore/pull/23723) - [Add tests for IdentityServer model and queries](https://github.com/dotnet/efcore/pull/23740) - [Disable SqlServer functional tests on Helix Ubuntu Docker](https://github.com/dotnet/efcore/pull/23801) - [Updates many-to-many change tracking tests to work with generated key values](https://github.com/dotnet/efcore/pull/23807) - [Fix non-deterministic test](https://github.com/dotnet/efcore/pull/23823) - [Removing references to #12591 from the procedural test generation](https://github.com/dotnet/efcore/pull/23238) - [Refactor QueryBugsTest to use a non-provider specific way to configure the contexts](https://github.com/dotnet/efcore/pull/23837) - Query - (3.1.12) [Query: Cosmos: Generate enum literal/parameter correctly](https://github.com/dotnet/efcore/pull/23448) - (5.0.3) [InMemory: Decompose join condition which uses equals for comparison](https://github.com/dotnet/efcore/pull/23624) - (5.0.3) [Fix to #23617 - IQueryable.All evaluate to false with predicate _ => true](https://github.com/dotnet/efcore/pull/23810) - (5.0.3) [InMemory: Wrap composite key selector for owned type in AnonymousObject](https://github.com/dotnet/efcore/pull/23732) - (5.0.3) [InMemory: Skip over AsSingleQuery method](https://github.com/dotnet/efcore/pull/23818) - (5.0.3) [TryRewriteEntityEquality and NotEqual comparison of CompositePrimaryKey](https://github.com/dotnet/efcore/pull/23836) - [SqlServer: Translate ArrayAccess/First over byte arrays](https://github.com/dotnet/efcore/pull/23210) - [!boolean in query should convert to boolean == false rather than boolean != true where possible](https://github.com/dotnet/efcore/pull/23711) - [Change function mapping HasTranslation args from IReadOnlyCollection to IReadOnlyList](https://github.com/dotnet/efcore/pull/23712) - [Allow schema-less UDFs to not be built-in](https://github.com/dotnet/efcore/pull/23829) - [TryRewriteEntityEquality and NotEqual comparison of CompositePrimaryKey](https://github.com/dotnet/efcore/pull/23821) - Miscellaneous - (5.0.3) [Fix event counter issues and add test patterns for event source testing](https://github.com/dotnet/efcore/pull/23826) - [Replace NotImplementedException with NotSupportedException](https://github.com/dotnet/efcore/pull/23502) - [Replace shadow entities with property bag entity types](https://github.com/dotnet/efcore/pull/23748) - [Bump Microsoft.Azure.Cosmos from 3.15.0 to 3.15.1](https://github.com/dotnet/efcore/pull/23744) - [Bump Microsoft.Data.SqlClient from 2.1.0 to 2.1.1](https://github.com/dotnet/efcore/pull/23743) - [Fix benchmarks](https://github.com/dotnet/efcore/pull/23827) - [Add MemoryDiagnoser and OpsPerSecond back to benchmark config](https://github.com/dotnet/efcore/pull/23839) - [Annotate Storage for nullability](https://github.com/dotnet/efcore/pull/23423) - Model building - (5.0.3) [Add column name null checks in default FK and PK name calculation](https://github.com/dotnet/efcore/pull/23697) - (5.0.3) [Use IUpdateEntry.EntityState instead of ModificationCommand.EntityState for entities using table splitting](https://github.com/dotnet/efcore/pull/23692) - (5.0.3) [Flow through the column types in MigrationBuilder.InsertData](https://github.com/dotnet/efcore/pull/23614) - [Fix relational overrides validation for non-inheritance case](https://github.com/dotnet/efcore/pull/23834) - Migrations - (5.0.3) [Fixes to database collation migrations](https://github.com/dotnet/efcore/pull/23809) - (5.0.3) [Don't generate Fluent API in model snapshot for certain annotations](https://github.com/dotnet/efcore/pull/23852) - [Fixes to database collation migrations](https://github.com/dotnet/efcore/pull/23800) - Change tracking - (5.0.3) [Set relationship snapshot correctly for skip navigations](https://github.com/dotnet/efcore/pull/23815) - (5.0.3) [Set skip navigations in delayed fixup](https://github.com/dotnet/efcore/pull/23808) - SaveChanges - [Allow opting out of automatic savepoints in SaveChanges](https://github.com/dotnet/efcore/pull/23698) ### Microsoft.Data.Sqlite - [Target .NET Standard 2.0 again](https://github.com/dotnet/efcore/pull/23713) - [Handle composite keys in SqliteDataReader.GetStream](https://github.com/dotnet/efcore/pull/23590) - [Use multi-thread mode](https://github.com/dotnet/efcore/pull/23632) - [Handle eponymous virtual tables in GetSchemaTable](https://github.com/dotnet/efcore/pull/23736) - [Support GetSchema("ReservedWords")](https://github.com/dotnet/efcore/pull/23820) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Previews: we expect the first preview of EF Core 6.0 to be available in early 2021. * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.2](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.11](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.11) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/aspnet/EntityFrameworkCore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

January 28, 2021

Expand to see status from this week...

## Highlights We have branched for EF Core 6.0 preview 1: - [63 enhancements](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.0-preview1+label%3Atype-enhancement+is%3Aclosed); [32 bugs fixed](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.0-preview1+is%3Aclosed+label%3Atype-bug) - [16 community contributions](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.0-preview1+is%3Aclosed+label%3Acommunity-contribution) including: - String.Concat overloads (By @wmeints) - EntityTypeConfigurationAttribute (By @KaloyanIT) - UnicodeAttribute (By @RaymondHuy) - PrecisionAttribute (By @RaymondHuy) - Validate required values for in-memory database (By @fagnercarvalho) We expect to ship preview 1 in mid-February. Can't wait? Use the [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) now. Meanwhile: - Work on the compiled model is in progress. For example, [support for runtime model annotations](https://github.com/dotnet/efcore/pull/23929) has been merged. - Work is beginning on [support for SQL Server Temporal Tables](https://github.com/dotnet/efcore/issues/4693). - New [value converter docs](https://docs.microsoft.com/ef/core/modeling/value-conversions?tabs=data-annotations). ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Not started | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | In-progress | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Not started | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Not started | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | In-progress | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ## EF Core 5.0.2 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.2). This release builds on all the features shipped in EF Core 5.0.1 with [12 important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.2+is%3Aclosed+). ## EF Core 3.1.11 EF Core 3.1.11 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.11). This is a patch release that contains only [critical bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.11+is%3Aclosed). ## Community Standups In the last [latest EF Core Community Standup](https://youtu.be/lmHU1zD2mvA) we welcomed special guest @jmezach to discuss [MSBuild.Sdk.SqlProj](https://github.com/rr-wfm/MSBuild.Sdk.SqlProj), a new open source project that allows you to build SQL Server Database Projects (.sqlproj) using the new SDK-style projects cross-platform. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## Pull requests merged in the last two weeks ### Community contributions - @wmeints [added support for three and four string argument versions of System.String.Concat](https://github.com/dotnet/efcore/pull/23873) - @Tomkaa [fixed incorrect xml doc comment on RollbackTransactionAsync](https://github.com/dotnet/efcore/pull/23933) - @cgrimes01 [fixed a minor typo - replace verses with versus](https://github.com/dotnet/EntityFramework.Docs/pull/3038) - @Geoff1900 [fixed grammar by adding definite/indefinite articles](https://github.com/dotnet/EntityFramework.Docs/pull/3025) Many thanks to all our contributors! ### EF Core - Documentation - [Remove duplicate code blocks](https://github.com/dotnet/EntityFramework.Docs/pull/3034) - [Removed unnecessary cast to object](https://github.com/dotnet/EntityFramework.Docs/pull/3027) - [Updates to value converter docs](https://github.com/dotnet/EntityFramework.Docs/pull/3020) - [Add Xamarin caveat that not linking may result in store rejection](https://github.com/dotnet/EntityFramework.Docs/pull/2769) - [Document that implicitly chosen type for join table may change](https://github.com/dotnet/EntityFramework.Docs/pull/3024) - [Fix: Unescaped HTML-like element in table](https://github.com/dotnet/EntityFramework.Docs/pull/3021) - [Samples code cleanup and verification that all samples run](https://github.com/dotnet/EntityFramework.Docs/pull/3022) - [Use colons consistently for connection strings in UserSecrets](https://github.com/dotnet/EntityFramework.Docs/pull/3008) - Model building - (5.0.3) [Correctly distinguish between seeds for different owned types](https://github.com/dotnet/efcore/pull/23863) - [Add runtime annotation support to model](https://github.com/dotnet/efcore/pull/23929) - [Support for SQL Server sparse columns](https://github.com/dotnet/efcore/pull/23904) - [Annotate the remainder of metadata for nullability](https://github.com/dotnet/efcore/pull/23905) - [Throw a better exception when the model is read-only](https://github.com/dotnet/efcore/pull/23888) - [Remove quirks from main](https://github.com/dotnet/efcore/pull/23879) - Miscellaneous - [Bump SQLitePCLRaw.bundle_e_sqlcipher from 2.0.5-pre20201231105030 to 2.0.5-pre20210119130047](https://github.com/dotnet/efcore/pull/23952) - [Bump Microsoft.Azure.Cosmos from 3.15.1 to 3.16.0](https://github.com/dotnet/efcore/pull/23910) - [Fix capturing uses of NonCapturingLazyInitializer](https://github.com/dotnet/efcore/pull/23881) - [Use target-typed new](https://github.com/dotnet/efcore/pull/23871) - Testing - [Add many-to-many mapping for Identity Users/Roles relationship](https://github.com/dotnet/efcore/pull/23973) - Query - [UseRelationalNulls causes subquery to include NOT IN (NULL, x)](https://github.com/dotnet/efcore/pull/23856) - Migrations - [Fix migration dependencies](https://github.com/dotnet/efcore/pull/23975) - Change tracking - [Don't leave unknown FK values when principal is known but has not-set, non-generated, value](https://github.com/dotnet/efcore/pull/23875) - SaveChanges - [Preserve synchronization context in SaveChangesAsync](https://github.com/dotnet/efcore/pull/23988) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Previews: we expect the first preview of EF Core 6.0 to be available in early 2021. * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.2](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.11](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.11) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/aspnet/EntityFrameworkCore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

February 11, 2021

Expand to see status from this week...

## Highlights Released this week: - [EF Core 5.0.3](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.3) with [14 important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.3+is%3Aclosed+). - [EF Core 3.1.12 LTS](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.12) with [only critical fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.12+is%3Aclosed+). Any day now: - EF Core 6.0 preview 1 with [61 enhancements](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.0-preview1+label%3Atype-enhancement+is%3Aclosed); [32 bugs fixed](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.0-preview1+is%3Aclosed+label%3Atype-bug) Meanwhile, the team is heads-down working on new features for EF Core 6.0, including: - [Compiled models](https://github.com/dotnet/efcore/issues/1906) - [SQL Server Temporal Tables](https://github.com/dotnet/efcore/issues/4693) - [Performance infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) - [Ongoing GraphQL investigations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | In-progress | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | In-progress | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Not started | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Not started | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | In-progress | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ## EF Core 5.0.3 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.3). This release builds on all the features shipped in EF Core 5.0.3 with [14 important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.3+is%3Aclosed+). ## EF Core 3.1.12 EF Core 3.1.12 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.12). This is a patch release that contains only [critical bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.12+is%3Aclosed). ## Community Standups In the last [latest EF Core Community Standup](https://www.youtube.com/watch?v=aUl5QfswNU4) we welcomed special guest [@Giorgi](https://github.com/Giorgi) to discuss [EntityFramework.Exceptions](https://github.com/Giorgi/EntityFramework.Exceptions), an open source EF Core extension that injects specific exception types for specific error cases in a database agnostic manner. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## Pull requests merged in the last two weeks ### Community contributions * @vincent1405 [corrected the savepoints over MARS exception message](https://github.com/dotnet/efcore/pull/24020) * @Marusyk [fixed a mistake in SqlUnaryExpression::Print](https://github.com/dotnet/efcore/pull/24016) * @Ali-YousefiTelori [improved the exception message when an entity type was not found](https://github.com/dotnet/efcore/pull/23946) * @garyng fixed some typos in [#3045](https://github.com/dotnet/EntityFramework.Docs/pull/3045), [#3046](https://github.com/dotnet/EntityFramework.Docs/pull/3046), and [#3047](https://github.com/dotnet/EntityFramework.Docs/pull/3047) * @mefateah [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3065) * @AndrewKitu [fixed some translation issues](https://github.com/dotnet/EntityFramework.Docs/pull/3070) * @ardalis [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3091) Many thanks to all our contributors! ### EF Core * Documentation * [Document new translations in preview1](https://github.com/dotnet/EntityFramework.Docs/pull/3042) * [Make code snippet selection more robust](https://github.com/dotnet/EntityFramework.Docs/pull/3050) * [Correct link to System.Linq.Async](https://github.com/dotnet/EntityFramework.Docs/pull/3062) * [Remove backslashes in EF6 docs](https://github.com/dotnet/EntityFramework.Docs/pull/3081) * [Localization fixes](https://github.com/dotnet/EntityFramework.Docs/pull/3087) * [Update spatial docs to reference ProjNet not ProjNet4GeoAPI](https://github.com/dotnet/EntityFramework.Docs/pull/3028) * [Add NuGet packages page](https://github.com/dotnet/EntityFramework.Docs/pull/3035) * Miscellaneous * (5.0.4) [Correctly set pool size when using AddPooledDbContextFactory](https://github.com/dotnet/efcore/pull/23983) * [NuGet Feed Update](https://github.com/dotnet/efcore/pull/24095) * [More nullable annotations](https://github.com/dotnet/efcore/pull/23938) * [Bump odata version to 7.5.5](https://github.com/dotnet/efcore/pull/24004) * [Re-enable SqlServer on Helix](https://github.com/dotnet/efcore/pull/24117) * Query * (5.0.4) [Allow UnaryExpression.Operand to be converted to nullable for LeftJoin](https://github.com/dotnet/efcore/pull/23984) * [Use stronger reflection in Queryable/Enumerable methods](https://github.com/dotnet/efcore/pull/24090) * [Support binary columns with SQL Server FREETEXT/CONTAINS](https://github.com/dotnet/efcore/pull/24033) * Model building * [Move ConstructionBinding from an annotation to an interface](https://github.com/dotnet/efcore/pull/24060) * [Add a new set of interfaces to hide runtime members during model building](https://github.com/dotnet/efcore/pull/24017) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Previews: we expect the first preview of EF Core 6.0 to be available any day now. * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.3](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.12](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.12) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/aspnet/EntityFrameworkCore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

February 25, 2021

Expand to see status from this week...

## Highlights EF Core 6.0 preview 1 is [on Nuget now!](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.1.21102.2). Details below. The team is working on [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) performance: - Starting point: EF Core at 74.5% of Dapper performance - Currently: EF Core at 86.3% of Dapper performance - Improvement in EF Core perf: 15.8% ![image](https://user-images.githubusercontent.com/1430078/109201013-25ccbe80-7756-11eb-932d-ed6aef4159cb.png) In addition, we're continuing work on - [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) - [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) - [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) Plus, as always, great contributions from the community. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | In-progress | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | In-progress | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | In-progress | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Not started | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | In-progress | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 1 EF Core 6.0 preview 1 is on [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.1.21102.2) now! New features in preview 1 include: - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) For [Microsoft.Data.SQLite 6.0 preview 1](https://www.nuget.org/packages/Microsoft.Data.SQLite/6.0.0-preview.1.21102.2): - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) The [.NET Blog announcement](https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-6-0-preview-1/) has full details and installation instructions. ## EF Core 5.0.3 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.3). This release builds on all the features shipped in EF Core 5.0.3 with [14 important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.3+is%3Aclosed+). ## EF Core 3.1.12 EF Core 3.1.12 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.12). This is a patch release that contains only [critical bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.12+is%3Aclosed). ## Community Standup: Perf tuning In the last [latest EF Core Community Standup](https://www.youtube.com/watch?v=aUl5QfswNU4) we welcomed special guest @JonPSmith who shared the steps he took to tweak EF Core performance and scale an eCommerce books Books app from 700 books to half million a million books. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## Pull requests merged in the last two weeks ### Community contributions * @yesmey [fixed batch inserts using with different types on a sql_variant column](https://github.com/dotnet/efcore/pull/24111) * @yesmey [contributed minor StringBuilder cleanup in QuerySqlGenerator](https://github.com/dotnet/efcore/pull/24155) * @Giorgi [added DbUpdateException constructors that accept list of EntityEntry for Entries property](https://github.com/dotnet/efcore/pull/24147) * @hez2010 [fixed infinite recursive generics](https://github.com/dotnet/efcore/pull/24211) * @Marusyk [added Cosmos translator for ToLower method which map to LOWER built-in function](https://github.com/dotnet/efcore/pull/24203) * @Marusyk [added Cosmos translator for ToUpper method which map to UPPER built-in function](https://github.com/dotnet/efcore/pull/24204) * @joakimriedel [contributed fix to keep parameter names for inlined queries](https://github.com/dotnet/efcore/pull/23437) * @mrlife [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3094) * @GitHubPang [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3097) * @Giorgi [added EntityFramework.Exceptions to the extensions list](https://github.com/dotnet/EntityFramework.Docs/pull/3106). Also: [#3107](https://github.com/dotnet/EntityFramework.Docs/pull/3107). * @Oxyrus [removed a duplicate 'as'](https://github.com/dotnet/EntityFramework.Docs/pull/3110) Many thanks to all our contributors! ### EF Core * Compiled model * [Move ITypeBase and IEntityType extension methods to the interfaces](https://github.com/dotnet/efcore/pull/24131) * [Move IAnnotatable and IModel extension methods to the interfaces](https://github.com/dotnet/efcore/pull/24089) * [Move IProperty and IPropertyBase extension methods to the interfaces](https://github.com/dotnet/efcore/pull/24180) * [Move IIndex, INavigation and related extension methods to the interfaces](https://github.com/dotnet/efcore/pull/24192) * [Move IRelationalModel extension methods to the interfaces](https://github.com/dotnet/efcore/pull/24205) * TechEmpower Fortunes * [Cache ResettableServices for DbContext pooling](https://github.com/dotnet/efcore/pull/24138) * [Stop capturing in logging](https://github.com/dotnet/efcore/pull/24197) * [Make ConcurrencyDetector optional](https://github.com/dotnet/efcore/pull/24125) * [Reduce allocation in query for execution strategy](https://github.com/dotnet/efcore/pull/24208) * Documentation * [What's new in EF Core 6.0 preview 1](https://github.com/dotnet/EntityFramework.Docs/pull/3092) * [Fix path issues in getting started app](https://github.com/dotnet/EntityFramework.Docs/pull/3079) * Nullable reference types * [Tooling NRT](https://github.com/dotnet/efcore/pull/24226) * Testing * [Reference Web SDK in OData test project since we need MVC references](https://github.com/dotnet/efcore/pull/24132) * Query * [Remove IAsyncEnumerable from DbSet](https://github.com/dotnet/efcore/pull/24145) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 1](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.1.21102.2) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.3](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.12](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.12) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/aspnet/EntityFrameworkCore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

March 11, 2021

Expand to see status from this week...

## Highlights EF Core 6.0 preview 2 is on [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.2.21154.2) now! Details below. The team is continuing to work on: - [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models). In particular, there is now a [PR out for the read-optimized model implementation](https://github.com/dotnet/efcore/pull/24364). - [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) - [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types). We're now close to using NRTs throughout the EF Core code. - [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes). More gains coming soon! - Also, we have merged a major [PR for in-memory queries](https://github.com/dotnet/efcore/pull/24363) which fixed 15 in-memory query bugs. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | In-progress | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | In-progress | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | In-progress | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Not started | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | In-progress | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 2 EF Core 6.0 preview 2 is on [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.2.21154.2) now! New features in preview 2 include: - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) Preview 2 also includes the following new features from preview 1: - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 2 Microsoft.Data.SQLite 6.0 preview 2 is on [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite/6.0.0-preview.2.21154.2) now! Preview 2 does not have any significant new features. However, preview 2 includes the following new features from preview 1: - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.4 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.4). This patch fixes [2 important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.4+is%3Aclosed+) in the 5.0 release. ## EF Core 3.1.13 EF Core 3.1.13 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.13). This patch release updates dependencies only and contains no code changes. ## Community Standup: Ask Julie Anything In the last [latest EF Core Community Standup](https://youtu.be/oZVsZrFKp48) we welcomed special guest @julielerman for an ask-me-anything session where we discussed everything EF. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## Pull requests merged in the last two weeks ### Community contributions * @Marusyk [added translator for Substring method which map to Cosmos SUBSTRING built-in functions](https://github.com/dotnet/efcore/pull/24284) * @Marusyk [documented InvalidOperationException for MaxAsync method](https://github.com/dotnet/efcore/pull/24286) * @Marusyk [added translator for TrimStart/TrimEnd/Trim](https://github.com/dotnet/efcore/pull/24247) * @teo-tsirpanis [updated the supported versions documentation](https://github.com/dotnet/EntityFramework.Docs/pull/3123) * @mrlife [added a missing word](https://github.com/dotnet/EntityFramework.Docs/pull/3129) * @mrlife [added a missing word](https://github.com/dotnet/EntityFramework.Docs/pull/3128) * @Varorbc [updated references to EF Core](https://github.com/dotnet/EntityFramework.Docs/pull/3141) * @alexpotter10 [Fixed casing for consistency](https://github.com/dotnet/EntityFramework.Docs/pull/3143) * @jing8956 [updated reference to deprecated MySql.Data.EntityFrameworkCore](https://github.com/dotnet/EntityFramework.Docs/pull/3146) Many thanks to all our contributors! ### EF Core * Miscellaneous * (3.1.14) [Clear disabled package sources](https://github.com/dotnet/efcore/pull/24240) * (5.0.5) [Clear disabled package sources](https://github.com/dotnet/efcore/pull/24241) * [Bump Microsoft.Data.SqlClient from 2.1.1 to 2.1.2](https://github.com/dotnet/efcore/pull/24337) * [Bump Microsoft.Azure.Cosmos from 3.16.0 to 3.17.0](https://github.com/dotnet/efcore/pull/24336) * [Remove bad DebugAssert causing a stack overflow](https://github.com/dotnet/efcore/pull/24350) * [More nullability annotations](https://github.com/dotnet/efcore/pull/24309) * [Enable nullable on the project](https://github.com/dotnet/efcore/pull/24265) * (Perf) [Allow providers to override ambient transaction access](https://github.com/dotnet/efcore/pull/24209) * Documentation * [Add tools references](https://github.com/dotnet/EntityFramework.Docs/pull/3120) * [Document that remove calls Down](https://github.com/dotnet/EntityFramework.Docs/pull/3119) * [Fix what's new link to filtered include](https://github.com/dotnet/EntityFramework.Docs/pull/3138) * [Update Oracle provider version to 5.0](https://github.com/dotnet/EntityFramework.Docs/pull/3116) * [Fix master -> main references](https://github.com/dotnet/EntityFramework.Docs/pull/3140) * [Reword to avoid double negative](https://github.com/dotnet/EntityFramework.Docs/pull/3121) * [What's new for EF Core 6.0 preview 2](https://github.com/dotnet/EntityFramework.Docs/pull/3144) * Query * (3.1.14) [Use stronger reflection in Queryable/Enumerable methods](https://github.com/dotnet/efcore/pull/24115) * (5.0.5) [Use stronger reflection in Queryable/Enumerable methods](https://github.com/dotnet/efcore/pull/24116) * [InMemory: Preserve type to bool when applying predicate on a grouping](https://github.com/dotnet/efcore/pull/24372) * [InMemory: Improve indexing in server expression](https://github.com/dotnet/efcore/pull/24363) * [Consider updating select expression identifiers when projecting a subset of column and adding distinct](https://github.com/dotnet/efcore/pull/24293) * (Perf) [Recycling relational and ADO.NET objects in query pipeline](https://github.com/dotnet/efcore/pull/24207) * [Odata $filter and $orderby not working with Select to new DTO for one to one relationship](https://github.com/dotnet/efcore/pull/24003) * Change tracking * (5.0.5) [Don't leave unknown FK values when principal is known but has not-set, non-generated, value](https://github.com/dotnet/efcore/pull/24178) * [Annotate ChangeTracking for nullability](https://github.com/dotnet/efcore/pull/24261) * Migrations * (5.0.5) [Fix default constraint logic in SQL Server migrations](https://github.com/dotnet/efcore/pull/24305) * [Annotate NRTs](https://github.com/dotnet/efcore/pull/24311) * [Fix default constraint logic in SQL Server migrations](https://github.com/dotnet/efcore/pull/24274) * Tooling * [Add missing design-time services](https://github.com/dotnet/efcore/pull/24362) * [Revert incorrect change to CommandLineApplication](https://github.com/dotnet/efcore/pull/24345) * Scaffolding * [Annotate NRTs](https://github.com/dotnet/efcore/pull/24306) * [Unbreak API used by Scaffolding](https://github.com/dotnet/efcore/pull/24262) * SaveChanges * (5.0.5) [Don't compare values from different keys for deleted entities](https://github.com/dotnet/efcore/pull/24244) ### Microsoft.Data.Sqlite * [Use Span overload of sqlite3_prepare](https://github.com/dotnet/efcore/pull/24331) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 2](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.2.21154.2) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.4](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.13](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.13) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/aspnet/EntityFrameworkCore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

March 25, 2021

Expand to see status from this week...

## Highlights * **F#** - Community package for [F# design-time support](https://github.com/efcore/EFCore.FSharp) * **NodaTime** - Community packages for [SQL Server, SQLite, and PostgreSQL](https://github.com/dotnet/efcore/issues/20114) * **NRTs** - All EF Core code now uses C# nullable reference types * **Compiled model** - The [optimized model is now used by convention](https://github.com/dotnet/efcore/pull/24430) * **Query** - Lots of progress on query bugs and EF6 query parity ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | In-progress | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | In-progress | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | In-progress | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | In-progress | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Done | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 2 EF Core 6.0 preview 2 is on [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.2.21154.2) now! New features in preview 2 include: - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) Preview 2 also includes the following new features from preview 1: - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 2 Microsoft.Data.SQLite 6.0 preview 2 is on [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite/6.0.0-preview.2.21154.2) now! Preview 2 does not have any significant new features. However, preview 2 includes the following new features from preview 1: - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.4 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.4). This patch fixes [2 important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.4+is%3Aclosed+) in the 5.0 release. ## EF Core 3.1.13 EF Core 3.1.13 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.13). This patch release updates dependencies only and contains no code changes. ## Community Standup: Database First with the EF Power Tools In the last [latest EF Core Community Standup](https://youtu.be/3-Izu_qLDqY) we welcomed special guest @ErikEJ who showed new features of the EF Core Power Tools for reverse engineering, renaming, multiple DbContexts in the same project, and more! The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## Pull requests merged in the last two weeks ### Community contributions * @Strepto [added Caching to SqliteDataRecord for Ordinal and Name](https://github.com/dotnet/efcore/pull/24141) * @Marusyk [documented InvalidOperationException for MinAsync](https://github.com/dotnet/efcore/pull/24323) * @cincuranet [added explicit order in case the database returns the records in different order](https://github.com/dotnet/efcore/pull/24234) * @yesmey [implemented warning for when Orderby is silently ignored using Distinct](https://github.com/dotnet/efcore/pull/24160) * @carlreid [added default options on ToDebugString](https://github.com/dotnet/efcore/pull/24498) * @MartinWestminster [Added an xref](https://github.com/dotnet/EntityFramework.Docs/pull/3118) * @jeremycook [added scaffolding examples for --no-onconfiguring](https://github.com/dotnet/EntityFramework.Docs/pull/2827) * @cgrevil [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3154) * @AkinSabriCam [added missing scope.Complete()](https://github.com/dotnet/EntityFramework.Docs/pull/3157) * @vytotas [fixed plural grammar](https://github.com/dotnet/EntityFramework.Docs/pull/3158) * @OKTAYKIR [added EFCoreAuditing](https://github.com/dotnet/EntityFramework.Docs/pull/3145) * @mrlife [updated backing field code](https://github.com/dotnet/EntityFramework.Docs/pull/3132) * @mariuz [updated deprecated and archived Firebird provider](https://github.com/dotnet/EntityFramework.Docs/pull/3124) * @OOberoi [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3163) Many thanks to all our contributors! ### EF Core * Query * (5.0.5) [Warn for walking back up the Include tree](https://github.com/dotnet/efcore/pull/24225) * [Update SQL baselines](https://github.com/dotnet/efcore/pull/24459) * [Re-organize SelectExpression](https://github.com/dotnet/efcore/pull/24436) * [Add TableReferenceExpression as a bridge to ColumnExpression for referential integrity](https://github.com/dotnet/efcore/pull/24458) * [Update explicit throw for navigation ignored warning](https://github.com/dotnet/efcore/pull/24486) * [Add regression tests for correlated collection and GroupBy/Distinct](https://github.com/dotnet/efcore/pull/24477) * [Update column references in pending collections](https://github.com/dotnet/efcore/pull/24491) * [Update table references for SelectExpression.Update method](https://github.com/dotnet/efcore/pull/24500) * Nullable reference types * [Tiny nullability corrections](https://github.com/dotnet/efcore/pull/24389) * [Design: Annotate NRTs](https://github.com/dotnet/efcore/pull/24388) * [Activate nullability for all product code](https://github.com/dotnet/efcore/pull/24406) * [Fix nullability for Fluent API](https://github.com/dotnet/efcore/pull/24457) * [Obsolete MemberIdentity.IsNone()](https://github.com/dotnet/efcore/pull/24437) * [Nullability leftovers](https://github.com/dotnet/efcore/pull/24428) * [Remove Jetbrains nullability attributes](https://github.com/dotnet/efcore/pull/24418) * Documentation * [Update generated properties docs](https://github.com/dotnet/EntityFramework.Docs/pull/3167) * [Update .NET Core version known to not support distributed transactions](https://github.com/dotnet/EntityFramework.Docs/pull/3171) * [Correct remove migrations docs](https://github.com/dotnet/EntityFramework.Docs/pull/3156) * [Add EntityFrameworkCore.FSharp to extensions list](https://github.com/dotnet/EntityFramework.Docs/pull/3169) * Miscellaneous * [Bump Microsoft.AspNetCore.OData from 7.5.5 to 7.5.6](https://github.com/dotnet/efcore/pull/24214) * [Bump Microsoft.Azure.Cosmos from 3.17.0 to 3.17.1](https://github.com/dotnet/efcore/pull/24465) * [Update .NET SDK to 6.0.100-preview.2.21155.3](https://github.com/dotnet/efcore/pull/24405) * Compiled model * [Create a read-optimized implementation of IModel](https://github.com/dotnet/efcore/pull/24364) * [Add a read-optimized implementation of relational metadata](https://github.com/dotnet/efcore/pull/24408) * [Add a convention that builds a read-optimized model to be used at runtime](https://github.com/dotnet/efcore/pull/24430) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 2](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.2.21154.2) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.4](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.13](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.13) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

April 8, 2021

Expand to see status from this week...

## Highlights EF Core 6.0 preview 3 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.2.21154.2) The team is continuing to work on: * The first [PR for SQL Server Temporal Tables](https://github.com/dotnet/efcore/pull/24562) is out! * [Runtime compiled model generator](https://github.com/dotnet/efcore/pull/24612) * Many query and change tracking bug fixes ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | In-progress | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | In-progress | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | In-progress | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | In-progress | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Done | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 3 EF Core 6.0 preview 3 is on [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.3.21201.2) now! Preview 3 does not have any significant new features. However, preview 2 includes the following new features earlier previews: - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 3 Microsoft.Data.SQLite 6.0 preview 3 is on [NuGet](https://www.nuget.org/packages/Microsoft.Data.SQLite/6.0.0-preview.3.21201.2) now! Preview 3 does not have any significant new features. However, preview 2 includes the following new features earlier previews: - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.5 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.5). This patch fixes [4 important bugs](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.5+is%3Aclosed+) in the 5.0 release. ## EF Core 3.1.14 EF Core 3.1.14 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.14). This patch fixes [an important bug](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.14+is%3Aclosed+) in the 3.1 release. ## Community Standup: Azure SQL In the last [latest EF Core Community Standup](https://youtu.be/GhIhwCafilk) we welcomed special guest Davide Mauri for an interactive discussion about how Azure SQL helps cloud developers create cloud native solutions. From simple REST APIs to scalable backends, Azure SQL provides the required flexibility, scalability, and features to simplify the developer's life. Davide covers topics ranging from JSON support and CI/CD to column-store, geospatial and graph models. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## Pull requests merged in the last two weeks ### Community contributions * @jaliyaudagedara [fixed some formatting](https://github.com/dotnet/efcore/pull/24499) * @andrejs86 [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3182) * @FarshanAhamed [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3181) * @uncheckederror [updated docs for ForSqliteHasSrid](https://github.com/dotnet/EntityFramework.Docs/pull/3168) * @cincuranet [updated Firebird information to show EFCore 5.0 support](https://github.com/dotnet/EntityFramework.Docs/pull/3185) * @ErikEJ [updated DevArt providers for EF Core 5](https://github.com/dotnet/EntityFramework.Docs/pull/3187) * @lexkazakov [fixed code highlighting](https://github.com/dotnet/EntityFramework.Docs/pull/3191) Many thanks to all our contributors! ### EF Core * Change tracking * [Delay synthesis of join entities until entire graph is attached](https://github.com/dotnet/efcore/pull/24572) * [Allow explicit loading of field-only navigations](https://github.com/dotnet/efcore/pull/24548) * [Only null non-overlapping FK properties on delete/fixup, if possible](https://github.com/dotnet/efcore/pull/24538) * [Fix Many to Many with optimistic concurrency tests](https://github.com/dotnet/efcore/pull/24560) * [Set changed navigation property to loaded](https://github.com/dotnet/efcore/pull/24545) * Type mapping * [Handle zero-length arrays in NumberToBytesConverter](https://github.com/dotnet/efcore/pull/24514) * [Tweaks for by-convention mapping of gRPC model](https://github.com/dotnet/efcore/pull/24553) * [Stop appending facets to SQL Server type aliases](https://github.com/dotnet/efcore/pull/24517) * [Throw when attempting to convert an invalid enum value from the database](https://github.com/dotnet/efcore/pull/24527) * [Move and rename SqlServerTypeMappingSourceTest](https://github.com/dotnet/efcore/pull/24482) * Miscellaneous * [Add name parameter to Set overload docs](https://github.com/dotnet/efcore/pull/24555) * [Move EnableNullabilityCheck from DbContextOptionsBuilder to InMemoryDbContextOptionsBuilder](https://github.com/dotnet/efcore/pull/24528) * [Fix order of arguments passed to log messages](https://github.com/dotnet/efcore/pull/24525) * [Bump Microsoft.AspNetCore.OData from 7.5.6 to 7.5.7](https://github.com/dotnet/efcore/pull/24533) * Query * [Update exception messages for optional dependents](https://github.com/dotnet/efcore/pull/24602) * [Warn for optional dependents sharing table without identifying column](https://github.com/dotnet/efcore/pull/24573) * [Implement optional dependent conditions](https://github.com/dotnet/efcore/pull/23635) * Model building * [Don't detect public service properties in hierarchy as duplicates](https://github.com/dotnet/efcore/pull/24462) * [Replace DbContext.DesignTimeModel with IDesignTimeModel service](https://github.com/dotnet/efcore/pull/24502) * Cosmos * [Log Cosmos database access at Info level](https://github.com/dotnet/efcore/pull/24554) * Documentation * [Remove unnecessary AsQueryables](https://github.com/dotnet/EntityFramework.Docs/pull/3173) ### Microsoft.Data.Sqlite * [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/pull/24503) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 3](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.3.21201.2) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.5](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.14](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.14) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

April 22, 2021

Expand to see status from this week...

## Highlights ### TechEmpower EF Core is now at **93.5%** of Dapper perf on TechEmpower Fortunes! * EF Core 6.0 is **33.1%** faster than EF Core 5.0 * However, platform and Npgsql changes make Dapper **6.0%** faster in the same period So everything is faster, and EF Core is still catching Dapper! ![TechEmpower Fortunes](https://user-images.githubusercontent.com/1430078/115781680-8996f080-a36f-11eb-9353-041634ebadd5.png) ### Learn to contribute! Do you want to contribute to EF Core but are uncertain where to begin? We’re here to help! In the [latest episode of the EF Core Community Standup](https://www.youtube.com/watch?v=9OMxy1wal1s), we implemented an EF Core feature live. This includes everything from forking the repo, adding the code and related tests, and generating the pull request. ### Other work EF Core 6.0 preview 3 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.2.21154.2) The team is continuing to work on: * SQL Server Temporal Tables * Compiled model * SQLite connection pooling * Query fixes and enhancements ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | In-progress | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | In-progress | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | In-progress | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | In-progress | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Done | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 3 EF Core 6.0 preview 3 is on [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.3.21201.2) now! Preview 3 does not have any significant new features. However, preview 2 includes the following new features earlier previews: - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 3 Microsoft.Data.SQLite 6.0 preview 3 is on [NuGet](https://www.nuget.org/packages/Microsoft.Data.SQLite/6.0.0-preview.3.21201.2) now! Preview 3 does not have any significant new features. However, preview 2 includes the following new features earlier previews: - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.5 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.5). This patch fixes [4 important bugs](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.5+is%3Aclosed+) in the 5.0 release. ## EF Core 3.1.14 EF Core 3.1.14 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.14). This patch fixes [an important bug](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.14+is%3Aclosed+) in the 3.1 release. ## Pull requests merged in the last two weeks ### Community contributions * @larsholm [fixed a typo](https://github.com/dotnet/efcore/pull/24624) * @ErikEJ [added a FAQ answer](https://github.com/dotnet/EntityFramework.Docs/pull/3197) * @ptupitsyn [fixed wording in collations-and-case-sensitivity.md](https://github.com/dotnet/EntityFramework.Docs/pull/3202) Many thanks to all our contributors! ### EF Core * Documentation * [Update docs for building the code and contributing](https://github.com/dotnet/efcore/pull/24703) * [Fix mis-aligned highlight](https://github.com/dotnet/EntityFramework.Docs/pull/3190) * [Fix link to samples](https://github.com/dotnet/EntityFramework.Docs/pull/3195) * [Fix mangled link to ChangeTracker.Clear](https://github.com/dotnet/EntityFramework.Docs/pull/3200) * [Fix Sqlite ToString example in 6.0 what's new](https://github.com/dotnet/EntityFramework.Docs/pull/3212) * [Update mis-aligned highlight](https://github.com/dotnet/EntityFramework.Docs/pull/3216) * Testing * [Make TestSqlLoggerFactory recognize quoting/curlies](https://github.com/dotnet/efcore/pull/24617) * [Unskip Double_dispose_does_not_enter_pool_twice Test](https://github.com/dotnet/efcore/pull/24651) * [Tiny: Disable failing Cosmos tests](https://github.com/dotnet/efcore/pull/24689) * [Improve test coverage fo DateTimeOffset comparer](https://github.com/dotnet/efcore/pull/24702) * [ComplexNavigations test refactoring](https://github.com/dotnet/efcore/pull/24709) * Query * [Introduce client projections in SelectExpression](https://github.com/dotnet/efcore/pull/24675) * [Push down into subquery when group by has unallowed terms](https://github.com/dotnet/efcore/pull/24676) * [Make table reference graph mapping consistent](https://github.com/dotnet/efcore/pull/24701) * [Lift projections from single result query rather than applying nested](https://github.com/dotnet/efcore/pull/24715) * Type mapping * [Check offset when comparing DateTimeOffset](https://github.com/dotnet/efcore/pull/24606) * [Allow type mapping source plugins to override built-in mappings](https://github.com/dotnet/efcore/pull/24662) * [Allow value converters to convert nulls](https://github.com/dotnet/efcore/pull/24687) * Miscellaneous * [Use consistent lifetime and registration pattern for design-time services](https://github.com/dotnet/efcore/pull/24519) * [Correct obsoletion message](https://github.com/dotnet/efcore/pull/24615) * (Perf) [Make PooledDbContextFactory public](https://github.com/dotnet/efcore/pull/24712) * Logging * [Support arrays in parameters value logging](https://github.com/dotnet/efcore/pull/24596) * (Perf) [Suppress logging checks in query when not required, caching for 1 second](https://github.com/dotnet/efcore/pull/24304) * Change tracking * [Don't consider key set if property is not set and is FK and PK is not generated](https://github.com/dotnet/efcore/pull/24577) * [Allow property values to be explicitly flagged as temporary](https://github.com/dotnet/efcore/pull/24620) * Model building * [Copy instead of reusing the same reference in AnnotatableBase.AddAnnotations](https://github.com/dotnet/efcore/pull/24688) * [Properly detect nullability in nested types](https://github.com/dotnet/efcore/pull/24713) * Dependency updates * [Bump Newtonsoft.Json from 12.0.3 to 13.0.1](https://github.com/dotnet/efcore/pull/24580) * Migrations * [Fix index creation with legacy filter](https://github.com/dotnet/efcore/pull/24643) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 3](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.3.21201.2) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.5](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.14](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.14) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

May 6, 2021

Expand to see status from this week...

## Highlights * Continued updates on [TechEmpower Fortunes performance](https://github.com/dotnet/efcore/issues/23611) * Improved support for [split query with non-collection Includes](https://github.com/dotnet/efcore/pull/24706) * Compiled model and temporal table work is progressing well * 17 community PRs merged ### Community Standup: Triggers for EF Core In the last [latest EF Core Community Standup](https://youtu.be/GhIhwCafilk) we welcomed special guest [Koen Bekkenutte](https://github.com/koenbeuk) who introduced us to the [EFCore.Triggered project](https://onthedrift.com/posts/efcore-triggered-part1/) and discussed its advantages and how it differs from domain events and database triggers. See how it is implemented and how the project uses EF Core's ChangeTracker and SaveChanges interception. As always, the EF Core team and Koen answer live Q&A. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | In-progress | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | In-progress | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | In-progress | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Not started | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | In-progress | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Not started | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Not started | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Done | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 3 EF Core 6.0 preview 3 is on [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.3.21201.2) now! Preview 3 does not have any significant new features. However, preview 2 includes the following new features earlier previews: - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 3 Microsoft.Data.SQLite 6.0 preview 3 is on [NuGet](https://www.nuget.org/packages/Microsoft.Data.SQLite/6.0.0-preview.3.21201.2) now! Preview 3 does not have any significant new features. However, preview 2 includes the following new features earlier previews: - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.5 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.5). This patch fixes [4 important bugs](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.5+is%3Aclosed+) in the 5.0 release. ## EF Core 3.1.14 EF Core 3.1.14 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.14). This patch fixes [an important bug](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.14+is%3Aclosed+) in the 3.1 release. ## Pull requests merged in the last two weeks ### Community contributions * @MattKomorcec [added a missing word](https://github.com/dotnet/efcore/pull/24728) * @riscie [added a link to docs for updating the tools](https://github.com/dotnet/efcore/pull/20792) * @SergerGood [fixed duplicate words](https://github.com/dotnet/efcore/pull/24751) * @SergerGood [merged conditional ?: expression into conditional access](https://github.com/dotnet/efcore/pull/24753) * @SergerGood [added use of Debug.Fail](https://github.com/dotnet/efcore/pull/24752) * @wdesgardin [implemented case-insensitive SqliteDataReader](https://github.com/dotnet/efcore/pull/24588) * @vonzshik [fixed reference the 2021 weekly status update instead of 2020](https://github.com/dotnet/efcore/pull/24778) * @SergerGood [optimized using StringBuilder](https://github.com/dotnet/efcore/pull/24755) * @SergerGood [fixed using not readonly stuct with in modifier](https://github.com/dotnet/efcore/pull/24750) * @vonzshik [adding caching access to virtual properties](https://github.com/dotnet/efcore/pull/24775) * @stevendarby [added translations for string.Substring with one arg](https://github.com/dotnet/efcore/pull/24746) * @michalczerwinski [removed defensive copies](https://github.com/dotnet/efcore/pull/24814) * @lauxjpn [consolidated SQL syntax](https://github.com/dotnet/efcore/pull/24806) * @michalczerwinski [fixed bug translating bool to string](https://github.com/dotnet/efcore/pull/24793) * @alexernest [updated whatsnew.md to fix typo for SQL DATALENGTH function name](https://github.com/dotnet/EntityFramework.Docs/pull/3225) * @mguinness [updated the Pomelo MySQL provider version](https://github.com/dotnet/EntityFramework.Docs/pull/3227) * @alireza-rezaee [fixed a typo](https://github.com/dotnet/EntityFramework.Docs/pull/3232) Many thanks to all our contributors! ### EF Core * Query * [Add a test for Enum ICollection Contains](https://github.com/dotnet/efcore/pull/24732) * [Add a test for projecting outer columns](https://github.com/dotnet/efcore/pull/24734) * [Add a test for inheritance with Cast](https://github.com/dotnet/efcore/pull/24735) * [Implement split query for non-include collections](https://github.com/dotnet/efcore/pull/24706) * [Tests for IQueryable in subquery sometimes triggers validation](https://github.com/dotnet/efcore/pull/24501) * [Fix for TableValuedFunctionExpression with IsBuiltIn option](https://github.com/dotnet/efcore/pull/24758) * [Adding tests for bug with Take()](https://github.com/dotnet/efcore/pull/24772) * [Avoid pushdown on top level during split query](https://github.com/dotnet/efcore/pull/24790) * [Add regression test for query resolution](https://github.com/dotnet/efcore/pull/24791) * [InMemory: Index based bindings for projection](https://github.com/dotnet/efcore/pull/24805) * Testing * [Create a provider agnostic test base to put custom models](https://github.com/dotnet/efcore/pull/24737) * [Adding test model for composite keys](https://github.com/dotnet/efcore/pull/24423) * [Move cosmos testing to internal](https://github.com/dotnet/efcore/pull/24782) * (5.0) [Move cosmos testing to internal](https://github.com/dotnet/efcore/pull/24785) * (3.1) [Move cosmos testing to internal](https://github.com/dotnet/efcore/pull/24784) * [Move connection probing to CosmosTestStore](https://github.com/dotnet/efcore/pull/24845) * Miscellaneous * [API review changes](https://github.com/dotnet/efcore/pull/24747) * [Bump Microsoft.Azure.Cosmos from 3.17.1 to 3.18.0](https://github.com/dotnet/efcore/pull/24823) * [Bump Microsoft.AspNetCore.OData from 7.5.7 to 7.5.8](https://github.com/dotnet/efcore/pull/24822) * [Update to .NET SDK 6.0 Preview 3](https://github.com/dotnet/efcore/pull/24639) * [Start flowing Microsoft.NETCore.App](https://github.com/dotnet/efcore/pull/24407) * Model building * [Add API to configure ValueGeneratorFactory](https://github.com/dotnet/efcore/pull/24700) * (Preview 4) [Copy instead of reusing the same reference in AnnotatableBase.AddAnnotations](https://github.com/dotnet/efcore/pull/24781) * [Rename SlimModel to RuntimeModel](https://github.com/dotnet/efcore/pull/24766) * Documentation * [Fix typo in xmldocs](https://github.com/dotnet/efcore/pull/24843) * [Update note on NRT annotation in the public APIs](https://github.com/dotnet/EntityFramework.Docs/pull/3228) * [Correct blog/post confusion](https://github.com/dotnet/EntityFramework.Docs/pull/3233) * Performance * (Preview 4) [Suppress logging checks in query when not required, caching for 1 second](https://github.com/dotnet/efcore/pull/24724) * (Preview 4) [Make PooledDbContextFactory public](https://github.com/dotnet/efcore/pull/24725) * DbContext * [Handle parameterless constructor in DbContextFactorySource](https://github.com/dotnet/efcore/pull/24717) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 3](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.3.21201.2) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.5](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.14](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.14) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

May 27, 2021

Expand to see status from this week...

## Highlights * The plan for EF Core 6.0 has been [updated](https://github.com/dotnet/efcore/issues/23870): * More Cosmos enhancements pulled in * Some raw SQL and migrations work scoped out * New [community EFCore.VisualBasic package](https://github.com/efcore/EFCore.VisualBasic) for VB scaffolding and migrations * Blog post on [performance improvements in preview 4](https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-6-0-preview-4-performance-edition/) * Compiled model work is complete; join us in the next Community Standup to see it working ### Upcoming Community Standup: Compiled Models EF Core creates an internal model for entity types and their database mappings. This model is typically built once when the application starts. Starting with EF Core 6.0, it is now possible to instead build this model at compile time. This can reduce startup time by up to 67% for large models. Join us for the next [EF Core Community Standup](https://www.youtube.com/watch?v=XdhX3iLXAPk&list=PLdo4fOcmZ0oX-DBuRG4u58ZTAJgBAeQ-t&index=1), where the team will introduce compiled models and demo their use. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Not started | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Not started | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Not started | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Not started | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Cut | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | In-progress | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | In-progress | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Not started | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | In-progress | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | In-progress | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 4 EF Core 6.0 preview 4 is on [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.4.21253.1) now! Preview 4 contains much of the performance work done in relation to [TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611), which is covered in a [detailed performance blog post](https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-6-0-preview-4-performance-edition/). The following new features are also included in preview 4: - [Allow explicit temporary values that are stored in the entity instance](https://github.com/dotnet/efcore/issues/24245) - [Add trailing underscore to the backing field matching convention](https://github.com/dotnet/efcore/issues/23901) Preview 4 also includes the following features earlier previews: - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 4 Microsoft.Data.SQLite 6.0 preview 4 is on [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite/6.0.0-preview.4.21253.1) now! Preview 4 contains the following new features: - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) Preview 4 also includes the following features earlier previews: - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.5 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.5). This patch fixes [4 important bugs](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.5+is%3Aclosed+) in the 5.0 release. ## EF Core 3.1.14 EF Core 3.1.14 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.14). This patch fixes [an important bug](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.14+is%3Aclosed+) in the 3.1 release. ## Pull requests merged in the last three weeks ### Community contributions * @dannyjacosta [updated "How To Contribute" doc to include video from EF Core team](https://github.com/dotnet/efcore/pull/24839) * @michalczerwinski [implemented query tagging with caller info](https://github.com/dotnet/efcore/pull/24887) * @marodev [did some code cleanup](https://github.com/dotnet/efcore/pull/24951) * @ErikEJ [added Tip about EF Core Power Tools](https://github.com/dotnet/EntityFramework.Docs/pull/3230) * @ErikEJ [updated Jet provider to 3.1 and .NET Core support](https://github.com/dotnet/EntityFramework.Docs/pull/3257) Many thanks to all our contributors! ### EF Core * Documentation * [Fix code samples for ExecuteSql methods](https://github.com/dotnet/efcore/pull/24935) * [Add EntityFrameworkCore.VisualBasic](https://github.com/dotnet/EntityFramework.Docs/pull/3238) * [Add perf section on reducing runtime overhead](https://github.com/dotnet/EntityFramework.Docs/pull/3251) * [Update the plan for EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3248) * [Make Microsoft docs link relative](https://github.com/dotnet/EntityFramework.Docs/pull/3264) * Miscellaneous * [Remove inheritance from InternalEntityEntry](https://github.com/dotnet/efcore/pull/24905) * [Bump Microsoft.Data.SqlClient from 2.1.2 to 2.1.3](https://github.com/dotnet/efcore/pull/24960) * [Bump SQLitePCLRaw to 2.0.5-pre20210521085756](https://github.com/dotnet/efcore/pull/24966) * [Reference System.ComponentModel.Annotations from the SDK](https://github.com/dotnet/efcore/pull/24973) * Query * [Add missing GetAsyncEnumerator to DbSet](https://github.com/dotnet/efcore/pull/24859) * Context pooling * [Increase default context pool size from 128 to 1024](https://github.com/dotnet/efcore/pull/24870) * [Reset CommandTimeout in context pooling](https://github.com/dotnet/efcore/pull/24936) * Model building * [Add a compiled slim model generator](https://github.com/dotnet/efcore/pull/24612) * [Add commands to create compiled models](https://github.com/dotnet/efcore/pull/24906) * [Cleanup compiled model tooling](https://github.com/dotnet/efcore/pull/24932) * Scaffolding * [Flow project's nullable setting into design-time code](https://github.com/dotnet/efcore/pull/24855) * [Scaffold with nullable reference types](https://github.com/dotnet/efcore/pull/24874) * Cosmos * [Filter out the partition key property when it is the same as id](https://github.com/dotnet/efcore/pull/24873) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 4](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.4.21253.1) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.5](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.14](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.14) ## Releases See [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

July 29, 2021

Expand to see status from this week...

## Highlights Biweekly updates are back! EF Core 6.0 [preview 5](https://github.com/dotnet/efcore/releases/tag/v6.0.0-preview.5.21301.9) and [preview 6](https://github.com/dotnet/efcore/releases/tag/v6.0.0-preview.6.21352.1) have shipped while we were gone. Some significant new features include: #### [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) This feature allows the mapping for a given CLR type to be configured once, removing the need to configure every property of the type individually. For example, assume you always store properties of your enum type as strings in the database. Instead of configuring every enum property on every entity type, you can now override use `ConfigureConventions` in your DbContext: ```c# protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder) { configurationBuilder.Properties() .HaveConversion() .HaveMaxLength(24); } ``` As can be seen in this example, pre-convention configuration supports specifying [a default value conversion for any property of a given type](https://github.com/dotnet/efcore/issues/10784), which has been a highly requested feature since we introduced value conversions. #### [Compiled models](https://github.com/dotnet/efcore/issues/1906) Compiling the EF Core model can dramatically reduce startup time for applications with many entity types. See the [preview 5 blog post](https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-6-0-preview-5-compiled-models/) and the [EF Core Community Standup](https://www.youtube.com/watch?v=XdhX3iLXAPk&list=PLdo4fOcmZ0oX-DBuRG4u58ZTAJgBAeQ-t&index=23) for more information. #### [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) EF Core 5.0 introduced generation of multiple SQL queries from a single LINQ query. EF Core 6.0 can now also use this pattern in many cases involving projection of collections, bringing significant potential performance benefits. ## Cuts As we are approaching the release of EF Core 6.0, we re-evaluated the remaining work against the timeline and have had to [make some cuts](https://github.com/dotnet/efcore/issues?q=is%3Aopen+is%3Aissue+label%3Apunted-for-6.0). In particular, the following have been cut: * [Map JSON values stored in database to EF properties](https://github.com/dotnet/efcore/issues/4021) * [Support for query filters in compiled models](https://github.com/dotnet/efcore/issues/24897) * [Support unidirectional many-to-many relationships through shadow navigations](https://github.com/dotnet/efcore/issues/3864) * [Implement value conversions that spread out over multiple columns (value objects)](https://github.com/dotnet/efcore/issues/13947) * [Use C# structs or classes as value objects](https://github.com/dotnet/efcore/issues/9906) * [Cosmos: Support aggregate operators](https://github.com/dotnet/efcore/issues/16146) We know many of you have been waiting for these features, and we apologize that we cannot get them into the 6.0 release. They will be high on the priority list for EF Core 7.0, where we can ensure they get enough time in previews for feedback, evaluation, and quality before shipping. ### Latest Community Standup: OData OData is one of the best protocols out there to supercharge your ASP.NET Core APIs, with many capabilities such as shaping, filtering, batching and ordering. It executes its queries on the server which tremendously improves the performance on the client side. On the most recent [EF Core Community Standup](https://www.youtube.com/watch?v=Q3Ove-2Uh94&list=PLdo4fOcmZ0oX-DBuRG4u58ZTAJgBAeQ-t&index=4), Hassan Habib ([@HassanRezkHabib]](https://twitter.com/HassanRezkHabib)) joined the EF team to talk all things OData. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | In-progress | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | In-progress | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | In-progress | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | In-progress | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Scoped | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 6 EF Core 6.0 preview 6 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.6.21352.1) The following new features are included in preview 6: - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) Preview 6 also includes the following features earlier previews: - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improve TechEmpower Fortunes performance](https://github.com/dotnet/efcore/issues/23611) - [Allow explicit temporary values that are stored in the entity instance](https://github.com/dotnet/efcore/issues/24245) - [Add trailing underscore to the backing field matching convention](https://github.com/dotnet/efcore/issues/23901) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 6 Microsoft.Data.SQLite 6.0 preview 6 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.Data.Sqlite/6.0.0-preview.6.21352.1) Preview 6 contains the following new features: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) Preview 6 also includes the following features earlier previews: - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.8 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.8). This patch fixes [3 important bugs](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.8+is%3Aclosed+) in the 5.0 release. ## EF Core 3.1.17 EF Core 3.1.17 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.17). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.16. ## Pull requests merged since the last update ### Community contributions * @umitkavala: [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/pull/24856) * @martincostello: [Use Random.Shared](https://github.com/dotnet/efcore/pull/25021) * @vonzshik: [Allow to run migrations inside of a user transaction](https://github.com/dotnet/efcore/pull/24863) * @ErikEJ: [Stop using AddFromFile with many files](https://github.com/dotnet/efcore/pull/24937) * @ntovas: [Add Translation for MathF](https://github.com/dotnet/efcore/pull/24829) * @martincostello: [Allow execution strategy bypass](https://github.com/dotnet/efcore/pull/25041) * @taha-ghadirian: [Add support for InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/pull/25085) * @Marusyk: [Add Math translators for Cosmos DB provider](https://github.com/dotnet/efcore/pull/24463) * @lauxjpn: [Fix missing code generation output for custom data annotation attributes](https://github.com/dotnet/efcore/pull/25128) * @lauxjpn: [Fix table casing to be the expected default (Pascal casing)](https://github.com/dotnet/efcore/pull/24819) * @dmitry-lipetsk: [Add IColumnModification and IModificationCommand to allow the implementations to be replaced easily](https://github.com/dotnet/efcore/pull/25327) * @Giorgi: [Add CommandSource to CommandEventData](https://github.com/dotnet/efcore/pull/24421) * @teo-tsirpanis: [Add a missing parenthesis](https://github.com/dotnet/EntityFramework.Docs/pull/3268) * @gieseanw: [Spelling and grammar fixes](https://github.com/dotnet/EntityFramework.Docs/pull/3262) * @thiggins1990: [Update existing-database.md](https://github.com/dotnet/EntityFramework.Docs/pull/3219) * @koenbeuk: [Added an extensions entry for EntityFrameworkCore.Projectables](https://github.com/dotnet/EntityFramework.Docs/pull/3283) * @ErikEJ: [Update comparision](https://github.com/dotnet/EntityFramework.Docs/pull/3303) * @joelmandell: [New overload: implementing IModelCacheKeyFactory](https://github.com/dotnet/EntityFramework.Docs/pull/3305) * @JonasSamuelsson: [Update entity-entries.md](https://github.com/dotnet/EntityFramework.Docs/pull/3309) * @ErikEJ: [Update for added support for EF Core 5](https://github.com/dotnet/EntityFramework.Docs/pull/3312) * @JohnMHigginsPMC: [Removed extra parenthesis](https://github.com/dotnet/EntityFramework.Docs/pull/3313) * @GitHubPang: [Fix typos and grammar](https://github.com/dotnet/EntityFramework.Docs/pull/3323) * @bartoszluka: [Fix word order typo](https://github.com/dotnet/EntityFramework.Docs/pull/3317) * @OOberoi: [Update relationships.md](https://github.com/dotnet/EntityFramework.Docs/pull/3319) * @joakimriedel: [Add a note on querying shared columns](https://github.com/dotnet/EntityFramework.Docs/pull/3321) * @GitHubPang: [Fix typos and grammar](https://github.com/dotnet/EntityFramework.Docs/pull/3323) * @gavinroderick: [Update efficient-querying.md](https://github.com/dotnet/EntityFramework.Docs/pull/3324) * @ErikEJ: [Remove "ConnectRetryCount", no longer needed due to added overload of SqlConnection.Open being used](https://github.com/dotnet/EntityFramework.Docs/pull/3328) * @mrlife: [Update value-conversions.md](https://github.com/dotnet/EntityFramework.Docs/pull/3339) Many thanks to all our contributors! ### EF Core * Model building * [Add pre-convention model configuration infrastructure](https://github.com/dotnet/efcore/pull/24993) * [Make DbFunction.HasSchema(null) always override the attribute](https://github.com/dotnet/efcore/pull/25031) * [Allow long identity seed](https://github.com/dotnet/efcore/pull/25030) * [Temporal tables: migrations and model building](https://github.com/dotnet/efcore/pull/24562) * [Don't remove default table mapping for TVF return entity types](https://github.com/dotnet/efcore/pull/25034) * [Allow to ignore entity types and properties by base type or interface](https://github.com/dotnet/efcore/pull/25025) * [Allow to toggle cross-table uniqueness for indexes and check constraints](https://github.com/dotnet/efcore/pull/25268) * [Rerun relationship discovery if an ambiguity has been resolved on the inverse](https://github.com/dotnet/efcore/pull/25263) * [Fix the return type of OwnedNavigationBuilder.HasIndex](https://github.com/dotnet/efcore/pull/25297) * Documentation * [Fix typo](https://github.com/dotnet/EntityFramework.Docs/pull/3292) * [Create platform and permissions neutral path for blog](https://github.com/dotnet/EntityFramework.Docs/pull/3298) * [Update plan.md](https://github.com/dotnet/EntityFramework.Docs/pull/3311) * [Update wpf.md](https://github.com/dotnet/EntityFramework.Docs/pull/3280) * [Document more 6.0 translations](https://github.com/dotnet/EntityFramework.Docs/pull/3307) * [Document IScaffoldingModelFactory](https://github.com/dotnet/EntityFramework.Docs/pull/3331) * [Update concurrency.md with link to sample](https://github.com/dotnet/EntityFramework.Docs/pull/3351) * Miscellaneous * [Update PULL_REQUEST_TEMPLATE.md](https://github.com/dotnet/efcore/pull/25069) * [Test fixup](https://github.com/dotnet/efcore/pull/25102) * [Incorporate API Review feedback](https://github.com/dotnet/efcore/pull/25124) * [Minor cleanup for temporal table feature](https://github.com/dotnet/efcore/pull/25264) * [Switch from Apache to MIT license](https://github.com/dotnet/efcore/pull/25281) * DbContext * [Fix caching of resettable services for pooled uninitialized context](https://github.com/dotnet/efcore/pull/25086) * [Add IInMemoryDbContextOptionsBuilderInfrastructure](https://github.com/dotnet/efcore/pull/25095) * [Correct nullability of DbSet.Find](https://github.com/dotnet/efcore/pull/25125) * [Store options in ServiceProviderCache](https://github.com/dotnet/efcore/pull/25313) * [Add `IServiceCollection.Use[DbProviderName]` extension methods](https://github.com/dotnet/efcore/pull/25220) * Dependencies * [Target .NET 6.0](https://github.com/dotnet/efcore/pull/25070) * [Bump Microsoft.Data.SqlClient from 2.1.3 to 3.0.0-preview3.21140.5](https://github.com/dotnet/efcore/pull/24967) * [Revert to Microsoft.Data.SqlClient 2.x](https://github.com/dotnet/efcore/pull/25057) * [Bump NetTopologySuite from 2.1.0 to 2.3.0](https://github.com/dotnet/efcore/pull/25173) * Scaffolding * [Scaffold SQL Server index fill factor annotation as int](https://github.com/dotnet/efcore/pull/25008) * [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/pull/25094) * (5.0.8) [Fix missing code generation output for custom data annotation attributes](https://github.com/dotnet/efcore/pull/25176) * Migrations * (5.0.8) [SqlServer: Add Cast to (n)varchar(max) when injecting Concat for multi-line seed data](https://github.com/dotnet/efcore/pull/24944) * (5.0.8) [Preserve the null table mapping in migration snapshot when an entity type is used as a TVF return type](https://github.com/dotnet/efcore/pull/25175) * [Add Migration Bundles](https://github.com/dotnet/efcore/pull/25256) * Cosmos * [Default relationships to ownership for Cosmos](https://github.com/dotnet/efcore/pull/25283) * [Add basic support for collections and dictionaries of primitive types](https://github.com/dotnet/efcore/pull/25344) * Query * [Temporal tables: query](https://github.com/dotnet/efcore/pull/25060) * SQLite * [Implement DateOnly/TimeOnly support for Sqlite](https://github.com/dotnet/efcore/pull/24989) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 6](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.6.21352.1) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.8](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.17](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.17) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

August 12, 2021

Expand to see status from this week...

## Highlights ### Migration Bundles EF Core 6.0 preview 7 ([which is on NuGet now!](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.7.21378.4)) contains the first cut of [Migration Bundles](https://github.com/dotnet/efcore/issues/19693). Using the `dotnet ef` command: ```sh dotnet tool update -g dotnet-ef --version 6.0.0-* dotnet ef migrations bundle ./bundle ``` Or from the Visual Studio Package Manager Console: ```ps1 Bundle-Migration .\bundle.exe ``` We're still working on the experience, so try it now and send us your feedback! ### Cosmos Six enhancements to the Cosmos provider were merged in the past two weeks, including: * [Make it possible to configure a HttpClientFactory](https://github.com/dotnet/efcore/pull/25399) (by @dnperfors) * [Add API to configure TTL and throughput](https://github.com/dotnet/efcore/pull/25379) * [Add basic support for nested collections of primitive types](https://github.com/dotnet/efcore/pull/25367) * [Adding translation for string.Length](https://github.com/dotnet/efcore/pull/25393) * [Add diagnostic events with statistics](https://github.com/dotnet/efcore/pull/25431) * [Set partition key on join entity type by convention](https://github.com/dotnet/efcore/pull/25443) These didn't make preview 7, but try them now in a [daily build](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) or wait for the RC1 release. ### Latest Community Standup: Query filters! In the latest [Entity Framework Community Standup](https://www.youtube.com/watch?v=Uy0c_DKGM-U&list=PLdo4fOcmZ0oX-DBuRG4u58ZTAJgBAeQ-t&index=2), @JonPSmith shares how to use global query filters to achieve soft deletes and multi-tenancy in #EFCore. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | In-progress | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | In-progress | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | In-progress | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Scoped | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 7 EF Core 6.0 preview 7 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.7.21378.4) Preview 7 contains the first cut of [Migration Bundles](https://github.com/dotnet/efcore/issues/19693). Preview 7 also includes the following features from earlier previews: - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improve TechEmpower Fortunes performance](https://github.com/dotnet/efcore/issues/23611) - [Allow explicit temporary values that are stored in the entity instance](https://github.com/dotnet/efcore/issues/24245) - [Add trailing underscore to the backing field matching convention](https://github.com/dotnet/efcore/issues/23901) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 7 Microsoft.Data.SQLite 6.0 preview 7 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.Data.Sqlite/6.0.0-preview.7.21378.4) Preview 7 does not contain any significant new features over preview 6. However, preview 7 does include the following features from earlier previews: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.9 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.9). This is a patch release of EF Core 5.0 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 5.0.8. ## EF Core 3.1.18 EF Core 3.1.18 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.18). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.17. ## Pull requests merged since the last update ### Community contributions * @lauxjpn : [Enable value conversion support for identity/sequence properties](https://github.com/dotnet/efcore/pull/25178) * @dnperfors: [Cosmos: Make it possible to configure a HttpClientFactory](https://github.com/dotnet/efcore/pull/25399) * @ErikEJ: [Skip and warn of duplicated SQL Server foreign keys](https://github.com/dotnet/efcore/pull/25378) * @ashotmuradian: [Fix typo in dbcontext-configuration/index.md](https://github.com/dotnet/EntityFramework.Docs/pull/3362) * @vslee: [Add Google.Cloud.EntityFrameworkCore.Spanner](https://github.com/dotnet/EntityFramework.Docs/pull/3363) * @ashotmuradian: [Remove duplicate note](https://github.com/dotnet/EntityFramework.Docs/pull/3364) Many thanks to all our contributors! ### EF Core * Model building * [Add more overloads of UsingEntity](https://github.com/dotnet/efcore/pull/25357) * [Add ToTable overloads with TableBuilder for OwnedNavigationBuilder](https://github.com/dotnet/efcore/pull/25398) * [Add ToFunction overloads that take a MethodInfo](https://github.com/dotnet/efcore/pull/25437) * [Allow ForeignKeyAttribute to be used on skip navigations](https://github.com/dotnet/efcore/pull/25444) * [Don't fallback to default foreign key properties for many-to-many if no attribute was specified](https://github.com/dotnet/efcore/pull/25469) * [Make the annotations SortedDictionary use ordinal ordering](https://github.com/dotnet/efcore/pull/25490) * [Allow TypeMappingSource to use the pre-convention configuration](https://github.com/dotnet/efcore/pull/25482) * Cosmos * [Add API to configure TTL and throughput](https://github.com/dotnet/efcore/pull/25379) * [Add basic support for nested collections of primitive types](https://github.com/dotnet/efcore/pull/25367) * [Adding translation for string.Length on Cosmos](https://github.com/dotnet/efcore/pull/25393) * [Add diagnostic events with statistics](https://github.com/dotnet/efcore/pull/25431) * [Set partition key on join entity type by convention](https://github.com/dotnet/efcore/pull/25443) * Miscellaneous * [Make DefaultLoggingCacheTime private](https://github.com/dotnet/efcore/pull/25422) * [API review updates](https://github.com/dotnet/efcore/pull/25450) * [Incorporate API Review feedback](https://github.com/dotnet/efcore/pull/25375) * [Temporal Tables API feedback](https://github.com/dotnet/efcore/pull/25467) * DbContext * [Capture events in constructor configuration when using context pooling](https://github.com/dotnet/efcore/issues/19193) * [Validate scopes when building service providers in tests](https://github.com/dotnet/efcore/pull/25438) * [Register a scoped DbContext automatically when using AddDbContextFactory](https://github.com/dotnet/efcore/pull/25440) * [Mitigate AddProvider verse AddEntityFrameworkProvider method confusion](https://github.com/dotnet/efcore/pull/25451) * Query * [Some minor test baseline fixes](https://github.com/dotnet/efcore/pull/25424) * [Adding tests for non-constant property name in EF.Property (and indexer property)](https://github.com/dotnet/efcore/pull/24846) * [Addressing API Review feedback for temporal tables feature](https://github.com/dotnet/efcore/pull/25430) * [Overwrite pre-initialized reference navigations when querying](https://github.com/dotnet/efcore/pull/25449) * Documentation * [Correct a/an in XML docs](https://github.com/dotnet/efcore/pull/25385) * [Grammar corrections](https://github.com/dotnet/efcore/pull/25427) * [Add samples for 6.0 features](https://github.com/dotnet/EntityFramework.Docs/pull/3366) * [Document breaking(ish) changes around DeleteBehavior](https://github.com/dotnet/EntityFramework.Docs/pull/3375) * Scaffolding * [Fixes around scaffolding collations](https://github.com/dotnet/efcore/pull/25420) * [Tune mappings between ReferentialAction and DeleteBehavior](https://github.com/dotnet/efcore/pull/25471) * Migrations * [Drop computed columns before non-computed](https://github.com/dotnet/efcore/pull/25238) * [Support making computed columns non-computed](https://github.com/dotnet/efcore/pull/25446) * SaveChanges * [IModificationCommand API Review changes](https://github.com/dotnet/efcore/pull/25392) * Change tracking * [Add parameterless constructors to value converters](https://github.com/dotnet/efcore/pull/25454) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 7](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.7.21378.4) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.9](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.18](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.18) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

August 26, 2021

Expand to see status from this week...

## Highlights * More than 80 PRs merged in last two weeks as we start closing down on the EF Core 6.0 release. * RC1 is coming soon and is feature-complete* * Just merged for RC1: [Cosmos FromSQL](https://github.com/dotnet/efcore/pull/25525), even more [GroupBy support](https://github.com/dotnet/efcore/pull/25495), [scaffolding many-to-many relationships](https://github.com/dotnet/efcore/pull/25544), and more... * Plus: connection pooling in Microsoft.Data.Sqlite! * Makes encrypted SQLite databases much easier to use \* [Allow defining column order via ColumnAttribute.Order when creating tables](https://github.com/dotnet/efcore/issues/10059) didn't make RC1, but we are hoping to get it into RC2. ### Latest Community Standup: Dapper! In the latest [Entity Framework Community Standup](https://www.youtube.com/watch?v=txiQar6PqvA), [Nick Craver (@NickCraver)](https://github.com/NickCraver) and [Marc Gravell (@mgravell)](https://github.com/mgravell) joined the EF Team to talk about [Dapper](https://github.com/DapperLib/Dapper), EF Core, and .NET data access in general. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | In-progress | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped/Complete | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Complete | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped/Complete | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Scoped/Complete | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded/Complete | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped/In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Complete | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 7 EF Core 6.0 preview 7 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.7.21378.4) Preview 7 contains the first cut of [Migration Bundles](https://github.com/dotnet/efcore/issues/19693). Preview 7 also includes the following features from earlier previews: - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improve TechEmpower Fortunes performance](https://github.com/dotnet/efcore/issues/23611) - [Allow explicit temporary values that are stored in the entity instance](https://github.com/dotnet/efcore/issues/24245) - [Add trailing underscore to the backing field matching convention](https://github.com/dotnet/efcore/issues/23901) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 7 Microsoft.Data.SQLite 6.0 preview 7 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.Data.Sqlite/6.0.0-preview.7.21378.4) Preview 7 does not contain any significant new features over preview 6. However, preview 7 does include the following features from earlier previews: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.9 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.9). This is a patch release of EF Core 5.0 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 5.0.8. ## EF Core 3.1.18 EF Core 3.1.18 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.18). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.17. ## Pull requests merged since the last update ### Community contributions * @aayjaychan: [Fix malformed XML doc in StoreObjectIdentifier](https://github.com/dotnet/efcore/pull/25608) * @billybraga: [Forcing usage of renting and populating commands when using relational command cache](https://github.com/dotnet/efcore/pull/25668) * @JoseDeFreitas: [Fix small type errors](https://github.com/dotnet/EntityFramework.Docs/pull/3388) * @okyrylchuk: [Improve link to Property Bags documentation page for What's New in EF Core 5.0 page](https://github.com/dotnet/EntityFramework.Docs/pull/3380) * @sdanyliv: [Updated linq2db.EntityFrameworkCore extension with EF Core 6 support](https://github.com/dotnet/EntityFramework.Docs/pull/3381) * @vanillajonathan: [Fix string.Lower to string.ToLower](https://github.com/dotnet/EntityFramework.Docs/pull/3402) Many thanks to all our contributors! ### EF Core * Query * [Fix query performance issue combining Inheritance and OwnedTypes](https://github.com/dotnet/efcore/pull/25494) * [Adding translations for cosmos string methods](https://github.com/dotnet/efcore/pull/25484) * [Remove last ORDER BY for collection joins](https://github.com/dotnet/efcore/pull/24360) * [Query: API Review changes](https://github.com/dotnet/efcore/pull/25504) * [Use the pre-convention type mapping configuration in query](https://github.com/dotnet/efcore/pull/25509) * [Add support for GroupBy patterns beyond aggregate](https://github.com/dotnet/efcore/pull/25495) * [Add a test for group by constant composed](https://github.com/dotnet/efcore/pull/25552) * [Run shaper only when needed in SplitQueryingEnumerable](https://github.com/dotnet/efcore/pull/25557) * [Remove unnecessary convert to IEnumerable for OData](https://github.com/dotnet/efcore/pull/25577) * [Add regression test for Contains on skip collection navigation](https://github.com/dotnet/efcore/pull/25578) * [Fix some test determinism issues](https://github.com/dotnet/efcore/pull/25572) * [Allow using STET overload for Set in query filter/defining query](https://github.com/dotnet/efcore/pull/25581) * [Better pattern match to add code to join fetch entity when including SkipNavigation](https://github.com/dotnet/efcore/pull/25636) * [Remove redundant override of TranslateSubquery](https://github.com/dotnet/efcore/pull/25637) * [Add regression test for #21036](https://github.com/dotnet/efcore/pull/25669) * [Add regression test for #21490](https://github.com/dotnet/efcore/pull/25667) * [Throw better error message for grouping parameter without composition in Select](https://github.com/dotnet/efcore/pull/25666) * [Don't expand include on entity reference which will be converted to entity equality](https://github.com/dotnet/efcore/pull/25585) * [Clone shaped query expression during translation](https://github.com/dotnet/efcore/pull/25634) * [Add regression test for #18658](https://github.com/dotnet/efcore/pull/25671) * [Add regression test for #24133](https://github.com/dotnet/efcore/pull/25672) * [Re-enable fixed test](https://github.com/dotnet/efcore/pull/25673) * [Add regression test for #18582](https://github.com/dotnet/efcore/pull/25685) * [Add regression test for #12329](https://github.com/dotnet/efcore/pull/25687) * [Fully printing include tree structure](https://github.com/dotnet/efcore/pull/25693) * [Query/Test: convert remaining complex nav collection tests to AssertQuery](https://github.com/dotnet/efcore/pull/25690) * [Add regression test for #25680](https://github.com/dotnet/efcore/pull/25709) * [Add regression test for #24368](https://github.com/dotnet/efcore/pull/25715) * [Fix to #24953 - Different orders of Include()/Where() in queries produce different results](https://github.com/dotnet/efcore/pull/25716) * Model building * [Warn when uniquifying an FK column name](https://github.com/dotnet/efcore/pull/25478) * [Fixes around namespaces and Fluent API calls](https://github.com/dotnet/efcore/pull/25435) * [Simplify HasConversion API by allowing provider type and converter type to be used interchangeably](https://github.com/dotnet/efcore/pull/25513) * [Support mapping identity columns to enum properties](https://github.com/dotnet/efcore/pull/25536) * [Allow HasDefaultValue where value is assignable to property](https://github.com/dotnet/efcore/pull/25539) * [Add scalar type configuration support to compiled models](https://github.com/dotnet/efcore/pull/25540) * [Make compiled model and runtime initialization thread-safe](https://github.com/dotnet/efcore/pull/25559) * [Outstanding work for temporal tables](https://github.com/dotnet/efcore/pull/25563) * [Rename Scalars to DefaultTypeMapping](https://github.com/dotnet/efcore/pull/25583) * [Change the default subfolder/subnamespace for compiled models to CompiledModels](https://github.com/dotnet/efcore/pull/25584) * [Add a pubternal way to namespace-qualify ambiguous types in compiled model](https://github.com/dotnet/efcore/pull/25605) * [Apply pre-convention configuration to nullable instances](https://github.com/dotnet/efcore/pull/25638) * [Fix nullability in compiled model](https://github.com/dotnet/efcore/pull/25676) * Documentation * [Correct FromSqlRaw docs](https://github.com/dotnet/efcore/pull/25568) * [Approach for referencing conceptual docs](https://github.com/dotnet/efcore/pull/25530) * [Linking more conceptual docs from API docs](https://github.com/dotnet/efcore/pull/25618) * [More links to conceptual docs](https://github.com/dotnet/efcore/pull/25658) * [Quote the code to remove incorrectly parsed HTML tag](https://github.com/dotnet/EntityFramework.Docs/pull/3379) * [Breaking change note for removal of the last ordering](https://github.com/dotnet/EntityFramework.Docs/pull/3387) * [Correct blob/blog typo](https://github.com/dotnet/EntityFramework.Docs/pull/3399) * Migrations * [Temporal Tables: The given key 'SqlServer:TemporalHistoryTableName' was not present in the dictionary when creating migration on entity mapped to temporal table without explicitly providing history table name](https://github.com/dotnet/efcore/pull/25512) * [Migrations Bundles: Fix some bugs](https://github.com/dotnet/efcore/pull/25554) * [Migrations Bundles: Address API Review feedback](https://github.com/dotnet/efcore/pull/25580) * [Disable nullability in migrations](https://github.com/dotnet/efcore/pull/25626) * [Add MigrationsModelDiffer tests for propagating facets](https://github.com/dotnet/efcore/pull/25691) * [Implement remaining Migrations Bundles features](https://github.com/dotnet/efcore/pull/25520) * Cosmos * [Enabling some Distinct tests on Cosmos](https://github.com/dotnet/efcore/pull/25505) * [Disable SSL certificate validation in Cosmos tests](https://github.com/dotnet/efcore/pull/25528) * [Cosmos FromSql](https://github.com/dotnet/efcore/pull/25525) * [Add translation for DateTime.UtcNow](https://github.com/dotnet/efcore/pull/25545) * [Fix Cosmos update exception wrapping](https://github.com/dotnet/efcore/pull/25651) * Change tracking * [Correct nullability annotation for ReferenceEntry](https://github.com/dotnet/efcore/pull/25591) * [Undelete an entity when it has been orphaned and then reparented](https://github.com/dotnet/efcore/pull/25574) * [Tweaks to ValueComparer nullability](https://github.com/dotnet/efcore/pull/24410) * [Support value conversion for ReadOnlyIPAddress](https://github.com/dotnet/efcore/pull/25587) * [Detect unknown shadow primary key values when attempting to save owned collection](https://github.com/dotnet/efcore/pull/25652) * DbContext * [Log provider version in addition to EF Core version](https://github.com/dotnet/efcore/pull/25515) * [Make the non-thread-safety of DbContext more visible](https://github.com/dotnet/efcore/pull/25516) * [Register concrete DbContext type in D.I. even when registration for interface is also made](https://github.com/dotnet/efcore/pull/25537) * [Add a check to TryAddProviderSpecificServices](https://github.com/dotnet/efcore/pull/25674) * Miscellaneous * [Use a consistent pattern for exposing service dependencies](https://github.com/dotnet/efcore/pull/25465) * [Revert ProviderCodeGenerator.RelationalDependencies change](https://github.com/dotnet/efcore/pull/25595) * [Remove unused nullability in typeof](https://github.com/dotnet/efcore/pull/25664) * Scaffolding * [Scaffold Many-To-Many join table](https://github.com/dotnet/efcore/pull/25544) * [SqlServer: Escape table name passed from user correctly](https://github.com/dotnet/efcore/pull/25558) * SaveChanges * [Stop wrapping OperationCancellationException with DbUpdateException](https://github.com/dotnet/efcore/pull/25628) ### Microsoft.Data.Sqlite * [Pool connections](https://github.com/dotnet/efcore/pull/25018) * [Revert to using string overload of sqlite3_prepare](https://github.com/dotnet/efcore/pull/25510) * [Revert multi-threading change](https://github.com/dotnet/efcore/pull/25541) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 7](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.7.21378.4) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.9](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.18](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.18) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

September 9, 2021

Expand to see status from this week...

## Highlights We're heads-down fixing bugs and making small tweaks for the EF Core 6.0 release. * Another 70+ PRs merged in the last two weeks * So far, EF Core 6.0 contains **172 enhancements**, and **247 bug fixes**. Also, check out [Taking the EF Core Azure Cosmos DB Provider for a Test Drive](https://devblogs.microsoft.com/dotnet/taking-the-ef-core-azure-cosmos-db-provider-for-a-test-drive/) just posted to the .NET Blog. ### Latest Community Standup: OSS EF Core In the latest [Entity Framework Community Standup](https://youtu.be/lLz5WwZKRW4), [Erik Ejlskov Jensen (@ErikEJ)](https://github.com/ErikEJ) joined the EF Team to talk about the many useful projects in the [unofficial EF Core repo](https://github.com/efcore). These range from custom naming conventions and check constraints to design-time support for F#. In this session, Erik highlighted several projects and demoed them. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. The [EF Core 6.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan) is available publicly in our documentation. [Feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/23870) as always. This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 6.0 is linked in the table below together with its current high-level status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | In-progress | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped/Complete | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Complete | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped/Complete | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Scoped/Complete | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded/Complete | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped/In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Complete | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 preview 7 EF Core 6.0 preview 7 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.7.21378.4) Preview 7 contains the first cut of [Migration Bundles](https://github.com/dotnet/efcore/issues/19693). Preview 7 also includes the following features from earlier previews: - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improve TechEmpower Fortunes performance](https://github.com/dotnet/efcore/issues/23611) - [Allow explicit temporary values that are stored in the entity instance](https://github.com/dotnet/efcore/issues/24245) - [Add trailing underscore to the backing field matching convention](https://github.com/dotnet/efcore/issues/23901) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) ### Microsoft.Data.SQLite 6.0 preview 7 Microsoft.Data.SQLite 6.0 preview 7 is [on NuGet now!](https://www.nuget.org/packages/Microsoft.Data.Sqlite/6.0.0-preview.7.21378.4) Preview 7 does not contain any significant new features over preview 6. However, preview 7 does include the following features from earlier previews: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) - [Savepoints API](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#savepoints-api) - [Command timeout in the connection string](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#command-timeout-in-the-connection-string) ## EF Core 5.0.9 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.9). This is a patch release of EF Core 5.0 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 5.0.8. ## EF Core 3.1.18 EF Core 3.1.18 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.18). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.17. ## Pull requests merged since the last update ### Community contributions * @vslee: [Update IBM provider to 5.0](https://github.com/dotnet/EntityFramework.Docs/pull/3419) * @vanillajonathan: [Inherit from Controller class](https://github.com/dotnet/EntityFramework.Docs/pull/3415) * @rbgnk: [Fix NuGet packages link](https://github.com/dotnet/EntityFramework.Docs/pull/3409) * @pksivanantham: [Corrected syntax in code snippet](https://github.com/dotnet/EntityFramework.Docs/pull/3405) Many thanks to all our contributors! ### EF Core * Query * [Add regression test for #23784](https://github.com/dotnet/efcore/pull/25855) * [Add test for projected Contains(null)](https://github.com/dotnet/efcore/pull/25893) * [Re-add test for obsolete ToQuery](https://github.com/dotnet/efcore/pull/25870) * [Add regression test for #23658](https://github.com/dotnet/efcore/pull/25853) * [Northwind tests don't have predefined entity asserters](https://github.com/dotnet/efcore/pull/25849) * [Adding regression tests for some issues fixed earlier](https://github.com/dotnet/efcore/pull/25835) * [Convert enum to underlying CLR type in type mapping when type](https://github.com/dotnet/efcore/pull/25793) * [Relational: No tests for TranslateContains path](https://github.com/dotnet/efcore/pull/25768) * [Enable test for Projecting_column_with_value_converter_of_ulong_byte_array](https://github.com/dotnet/efcore/pull/25817) * [Add regression test for #21602](https://github.com/dotnet/efcore/pull/25792) * [Re-enable test for #22896](https://github.com/dotnet/efcore/pull/25795) * [Adding some regression tests for issues fixed earlier](https://github.com/dotnet/efcore/pull/25736) * [Relational: IS (NOT) NULL requires parenthesis when not in left side of an equality](https://github.com/dotnet/efcore/pull/25722) * [Reenable previously flaky Union_non_entity](https://github.com/dotnet/efcore/pull/25705) * [Different orders of Include()/Where() in queries produce different results](https://github.com/dotnet/efcore/pull/25716) * [Convert enum value to integer when printing constant as needed](https://github.com/dotnet/efcore/pull/25940) * [Use cancellationToken appropriately](https://github.com/dotnet/efcore/pull/25918) * [Don't mark property as loaded in lazy-loader if lazy-loading fails](https://github.com/dotnet/efcore/pull/25898) * Model building * [Be more explicit about which overloads of HasConversion to use with compiled model](https://github.com/dotnet/efcore/pull/25816) * [Configure requiredness based on NRT even if principal end might be ambiguous](https://github.com/dotnet/efcore/pull/25831) * [Don't look for CLR properties on property bag entity types](https://github.com/dotnet/efcore/pull/25809) * [Configure self-referencing navigations when disambiguated by ForeignKey attributes](https://github.com/dotnet/efcore/pull/25806) * [Correctly handle adding optional dependents using table splitting without principal](https://github.com/dotnet/efcore/pull/25757) * [Discover inverse navigations when entity added after being ignored](https://github.com/dotnet/efcore/pull/25762) * [Allow sharing column when properties have different nullability](https://github.com/dotnet/efcore/pull/25740) * [Configure ambiguous navigations with RequiredAttribute](https://github.com/dotnet/efcore/pull/25737) * [Avoid sharing default mappings for entity types](https://github.com/dotnet/efcore/pull/25734) * [Find inverse property navigation case sensitive first](https://github.com/dotnet/efcore/pull/25714) * [Change logging level for non-created indexes from Info to Warn](https://github.com/dotnet/efcore/pull/25928) * [Convert SingleResult compared to null to Any](https://github.com/dotnet/efcore/pull/25914) * [Validate same filters in duplicate indexes](https://github.com/dotnet/efcore/pull/25931) * Change tracking * [Avoid stack overflow when saving multiple modified entities with the same key](https://github.com/dotnet/efcore/pull/25897) * [Allow setting original/current values using a typed dictionary](https://github.com/dotnet/efcore/pull/25895) * [Store store-generated FK values in the store-generated snapshot](https://github.com/dotnet/efcore/pull/25894) * [Reset unknown original value when current value is set](https://github.com/dotnet/efcore/pull/25837) * [Add regression test for cycle detection using lazy-loading proxies](https://github.com/dotnet/efcore/pull/25821) * [Detatching principal keeps track of unreferenced dependents](https://github.com/dotnet/efcore/pull/25702) * [Remove factory from value generator cache key](https://github.com/dotnet/efcore/pull/25925) * [Add convert node to snapshot expression when needed](https://github.com/dotnet/efcore/pull/25936) * [Avoid stack overflow when saving multiple modified entities with the same key](https://github.com/dotnet/efcore/pull/25897) * [Allow setting original/current values using a typed dictionary](https://github.com/dotnet/efcore/pull/25895) * [Store store-generated FK values in the store-generated snapshot](https://github.com/dotnet/efcore/pull/25894) * Cosmos * [Return null instead of throwing from Find](https://github.com/dotnet/efcore/pull/25887) * [Translate string.Equals with StringComparison.Ordinal](https://github.com/dotnet/efcore/pull/25875) * [Don't map collections as owned types](https://github.com/dotnet/efcore/pull/25827) * [Change Cosmos FromSqlRaw to be over DbSet](https://github.com/dotnet/efcore/pull/25805) * [Remove Guid type mapping](https://github.com/dotnet/efcore/pull/25755) * [Disable DateTime string parsing](https://github.com/dotnet/efcore/pull/25741) * [Escape invalid characters in the id value](https://github.com/dotnet/efcore/pull/25721) * Documentation * [What's new for EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3410) * [More links to conceptual docs](https://github.com/dotnet/efcore/pull/25814) * [Fix doc typo](https://github.com/dotnet/efcore/pull/25861) * [More links to conceptual docs](https://github.com/dotnet/efcore/pull/25697) * Miscellaneous * [Reuse some IExecutionStrategy instances](https://github.com/dotnet/efcore/pull/25836) * [Update SQL Server transient error list](https://github.com/dotnet/efcore/pull/25832) * [Return -1 for no data in query cache event counter](https://github.com/dotnet/efcore/pull/25727) * Scaffolding * [Add test for scaffolding multiple indexes on the same column](https://github.com/dotnet/efcore/pull/25917) * [SqlServer: Ignore Fks whose principal table data is not found](https://github.com/dotnet/efcore/pull/25852) * [Resiliency to columns with missing types in SQL Server scaffolding](https://github.com/dotnet/efcore/pull/25748) * Migrations * [Support no termination in SQL Server CREATE TABLE migration operation](https://github.com/dotnet/efcore/pull/25911) * [Convert Int32 identity seed value](https://github.com/dotnet/efcore/pull/25857) * [Support no termination in SQL Server CREATE TABLE migration operation](https://github.com/dotnet/efcore/pull/25911) * Type mapping * [Read double as float on SQL Server when precision is less than 25](https://github.com/dotnet/efcore/pull/25881) * [Set the DbType on parameters wherever possible](https://github.com/dotnet/efcore/pull/25840) * [Read double as float on SQL Server when precision is less than 25](https://github.com/dotnet/efcore/pull/25881) * SaveChanges * [Sort inserts to preserve tracking order in more cases](https://github.com/dotnet/efcore/pull/25874) * [Don't use MERGE for single row insert with non-identity store-generated key](https://github.com/dotnet/efcore/pull/25718) * Dependency updates * [Bump SQLitePCLRaw to 2.0.6](https://github.com/dotnet/efcore/pull/25730) * (3.1.20) [Update SQLite dependencies to 2.0.4](https://github.com/dotnet/efcore/pull/25550) * Tooling * [Remove MethodCallCodeFragment constructor accepting a chained call](https://github.com/dotnet/efcore/pull/25910) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 preview 7](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-preview.7.21378.4) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.9](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.18](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.18) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 3 years ago

September 23, 2021

Expand to see status from this week...

## Highlights * EF Core 6.0 RC1 is [on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.1.21452.10)! * Feature complete! * Temporal tables * Migrations bundles * Better Cosmos * Scaffold many-to-many * Better GroupBy * Default value conversions * Compiled models * NRTs * Better split queries * Perf * Plus more... * See [What's New in EF Core 6.0](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew) for a detailed look at all the new features, including runnable samples. Try it! We need your feedback! ([Allow defining column order via [ColumnAttribute.Order] when creating tables](https://github.com/dotnet/efcore/issues/10059) will ship in RC2.) ### Latest Community Standup: PostgreSQL and EF Core In the latest [Entity Framework Community Standup](https://youtu.be/Ya_cmZRwACM), [Shay Rojansky (@roji)](https://github.com/roji) demonstrated using EF Core with PostgreSQL. PostgreSQL has some advanced capabilities not usually found in other relational databases. In this session, Shay showed several of these features, and demoed how EF Core makes these accessible. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. We have now completed all feature work for EF Core 6.0; please try RC1 (see below) now and help us find bug! Each high-level area for EF Core 6.0 is linked in the table below together with its final status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Complete | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped/Complete | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Complete | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped/Complete | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Scoped/Complete | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded/Complete | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped/In-progress | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Complete | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 RC1 EF Core 6.0 RC1 is [on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.1.21452.10)! The RC1 release contains all the features planned for EF Core 6.0, except [Allow defining column order via [ColumnAttribute.Order] when creating tables](https://github.com/dotnet/efcore/issues/10059) which will ship in RC2. See [What's New in EF Core 6.0](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew) for a detailed look at all the new features in EF Core 6.0. RC1 contains the following new features over those previously shipped in Preview 7: - [SQL Server temporal tables](https://github.com/dotnet/efcore/issues/4693) - [Migrations Bundles](https://github.com/dotnet/efcore/issues/19693) - [Cosmos: Add basic support for collections and dictionaries of primitive types](https://github.com/dotnet/efcore/issues/14762) - [Cosmos: Add translators for member/methods which map to built-in functions](https://github.com/dotnet/efcore/issues/16143) - [Cosmos: Distinct operator in queries](https://github.com/dotnet/efcore/issues/16144) - [Cosmos: Diagnostic events including statistics (query cost, activity id)](https://github.com/dotnet/efcore/issues/17298) - [Cosmos: API to configure throughput](https://github.com/dotnet/efcore/issues/17301) - [Cosmos: Configure TTL per entity/entity type/container](https://github.com/dotnet/efcore/issues/17307) - [Cosmos: FromSql support](https://github.com/dotnet/efcore/issues/17311) - [Cosmos: Resolve HttpClientFactory from DI if available](https://github.com/dotnet/efcore/issues/21274) - [Cosmos: Azure Cosmos DB provider should default to implicit ownership](https://github.com/dotnet/efcore/issues/24803) - [Detect simple join tables in reverse engineering and create many-to-many relationships](https://github.com/dotnet/efcore/issues/22475) - [Translate GroupBy followed by FirstOrDefault over group](https://github.com/dotnet/efcore/issues/12088) - [Support ability to select top N of each group](https://github.com/dotnet/efcore/issues/13805) - [Remove unnecessary *last column* in ORDER BY when joining for collection](https://github.com/dotnet/efcore/issues/19828) - [Add IColumnModification and IModificationCommand to allow the implementations to be replaced easily](https://github.com/dotnet/efcore/issues/12169) - [Non-constant property name in EF.Property (and indexer property)](https://github.com/dotnet/efcore/issues/15832) - [Make the non-thread-safety of DbContext more visible](https://github.com/dotnet/efcore/issues/23319) - [Store options in ServiceProviderCache](https://github.com/dotnet/efcore/issues/19152) - [Adopt MIT license](https://github.com/dotnet/efcore/issues/19844) - [Warn when uniquifying an FK column name](https://github.com/dotnet/efcore/issues/20435) - [Preserve DeleteBehavior when scaffolding a database created by EF Core](https://github.com/dotnet/efcore/issues/21252) - [Add overloads of UsingEntity() that take advantage of conventions](https://github.com/dotnet/efcore/issues/21535) - [Log provider version in addition to EF Core version](https://github.com/dotnet/efcore/issues/22906) - [Indicate where SQL comes from (SaveChanges, LINQ query, etc.) in IDbCommandInterceptor](https://github.com/dotnet/efcore/issues/23719) - [Register a scoped DbContext automatically when using AddDbContextFactory](https://github.com/dotnet/efcore/issues/25164) - [Add extension methods to enable simpler adding and configuration of EF Core providers](https://github.com/dotnet/efcore/issues/25192) - [Simplify HasConversion API](https://github.com/dotnet/efcore/issues/25468) And for Microsoft.Data.Sqlite: - [Pool Connections](https://github.com/dotnet/efcore/issues/13837) RC1 also includes the following new features in previews 1 through 7: - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improvements to optional dependents sharing table with principal](https://github.com/dotnet/efcore/issues/23564) - [Detection of trailing underscores when matching backing fields to properties](https://github.com/dotnet/efcore/issues/23901) - [Performance gain by recycling relational and ADO.NET objects in query execution](https://github.com/dotnet/efcore/issues/24206) - [Allow explicit temporary values to be stored in entity instances](https://github.com/dotnet/efcore/issues/24245) - [Default options added to all ToDebugString methods](https://github.com/dotnet/efcore/issues/24461) - [Improved logging of array parameter values](https://github.com/dotnet/efcore/issues/24595) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) And for Microsoft.Data.Sqlite: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) See GitHub for [all issues resolved in RC1](https://github.com/dotnet/efcore/issues?q=is%3Aissue+is%3Aclosed+milestone%3A6.0.0-rc1). ## EF Core 5.0.10 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.10). This is a patch release of EF Core 5.0 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 5.0.9. ## EF Core 3.1.19 EF Core 3.1.19 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.19). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.18. ## Pull requests merged since the last update ### Community contributions * @ErikEJ: [Update dailybuild.md](https://github.com/dotnet/efcore/pull/26099) * @ErikEJ: [Add extension](https://github.com/dotnet/EntityFramework.Docs/pull/3421) Many thanks to all our contributors! ### EF Core * Query * [Adding regression test for #24931 - SqlNullValueException on specific combination of outer joins in LINQ](https://github.com/dotnet/efcore/pull/25953) * [Add condition when accessing property on optional dependent which is shared](https://github.com/dotnet/efcore/pull/25949) * [Generate multiple query tags without newlines between them](https://github.com/dotnet/efcore/pull/25963) * [InMemory: Read nullable value for derived properties](https://github.com/dotnet/efcore/pull/25968) * [Convert result of Round appropriately for MathF functions](https://github.com/dotnet/efcore/pull/25970) * [Add regression test for #24657](https://github.com/dotnet/efcore/pull/25972) * [Enable test for #24291](https://github.com/dotnet/efcore/pull/25974) * [Re-enable few tests](https://github.com/dotnet/efcore/pull/25976) * [Add regression test for #19726](https://github.com/dotnet/efcore/pull/26002) * [Avoid incorrect cast when simplifying null check](https://github.com/dotnet/efcore/pull/26004) * [Add regression test for #21665](https://github.com/dotnet/efcore/pull/26009) * [Translate object.Equals correctly when object argument passed with constant](https://github.com/dotnet/efcore/pull/26010) * [Extract join predicate from Having for group by aggregate queries](https://github.com/dotnet/efcore/pull/26011) * [Fix to #19883 - Null semantics should keep track of columns that are guaranteed to be null and remove redundant IS NULL/IS NOT NULL checks](https://github.com/dotnet/efcore/pull/25951) * [Fix to #26014 - Migrations/Temporal Tables: null value exception when executing Down migration to convert entity from temporal to normal](https://github.com/dotnet/efcore/pull/26053) * [Throw better error message when final result contains IGrouping](https://github.com/dotnet/efcore/pull/26050) * [Add regression test for #25315 - Unable to translate collection subquery in projection](https://github.com/dotnet/efcore/pull/26057) * [Fix temporal table tests](https://github.com/dotnet/efcore/pull/26056) * [Translate ToList over grouping element](https://github.com/dotnet/efcore/pull/26054) * [Adding regression test for #15279](https://github.com/dotnet/efcore/pull/26081) * [Adding grouping tests from EF6](https://github.com/dotnet/efcore/pull/26069) * [Fix to #24490 - Update exception message when correlated collection cannot be projected](https://github.com/dotnet/efcore/pull/26079) * Model building * [Fixup to index filter validation](https://github.com/dotnet/efcore/pull/25939) * [Make sure navigations on property bag entity types don't use CLR properties](https://github.com/dotnet/efcore/pull/25960) * [Make compiled model classes public and supporting classes internal](https://github.com/dotnet/efcore/pull/25967) * [Apply pre-convention value converters on nullable types](https://github.com/dotnet/efcore/pull/25969) * [Better exception message when switching from owned to non-owned configuration](https://github.com/dotnet/efcore/pull/25984) * [Don't hard-code value generation to Never for FKs](https://github.com/dotnet/efcore/pull/25992) * [Throw better exception for many-to-many with same navigation on both ends](https://github.com/dotnet/efcore/pull/25990) * [List shared-identity entries for STETs](https://github.com/dotnet/efcore/pull/26027) * [Check for navigation compatibility with keyless type when navigation is non-null](https://github.com/dotnet/efcore/pull/26090) * [Add regression test for HasMany on keyless entity](https://github.com/dotnet/efcore/pull/26091) * [Add regression test for #18149](https://github.com/dotnet/efcore/pull/26096) * [Update the entity type on check constraints when it's converted to a STET](https://github.com/dotnet/efcore/pull/26112) * [Use the correct value when the discriminator is part of the key](https://github.com/dotnet/efcore/pull/26130) * [Improve exception message for a shadow skip navigation](https://github.com/dotnet/efcore/pull/26128) * Migrations * [Honor Column(Order) attribute in CreateTable operation](https://github.com/dotnet/efcore/pull/25942) * [Bundles: Copy NuGet.Config and global.json files](https://github.com/dotnet/efcore/pull/26005) * [Fix adding value-converted rowversion column](https://github.com/dotnet/efcore/pull/25998) * [Bundles: Flow configuration from project](https://github.com/dotnet/efcore/pull/26044) * [Fix Fluent APIs on keys in model snapshot](https://github.com/dotnet/efcore/pull/26058) * [Fully support int identity seed](https://github.com/dotnet/efcore/pull/26066) * [Always store join table schema in the snapshot](https://github.com/dotnet/efcore/pull/26095) * [Fix snapshot generation with HiLo](https://github.com/dotnet/efcore/pull/26136) * Documentation * [More links to conceptual docs](https://github.com/dotnet/efcore/pull/25937) * [More links to conceptual docs](https://github.com/dotnet/efcore/pull/25962) * [Finish linking to conceptual docs](https://github.com/dotnet/efcore/pull/25983) * [Fix typo](https://github.com/dotnet/EntityFramework.Docs/pull/3423) * [Update index.md](https://github.com/dotnet/EntityFramework.Docs/pull/3431) * [More What's New for EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3429) * SaveChanges * [Always sort deletes before inserts for the same table to avoid deadlocks](https://github.com/dotnet/efcore/pull/25952) * [Add a way for providers to filter out non-identity conditions](https://github.com/dotnet/efcore/pull/25973) * [Allow UseTransaction to replace existing transaction](https://github.com/dotnet/efcore/pull/25979) * [When sorting update commands add Deleted + Inserted number of edges instead of Deleted * Inserted](https://github.com/dotnet/efcore/pull/26082) * Change tracking * [Delete optional orphans when foreign key value is set to null](https://github.com/dotnet/efcore/pull/25957) * [Handle nulls passed to typed equality method expression](https://github.com/dotnet/efcore/pull/25966) * [Fixup deleted join entities](https://github.com/dotnet/efcore/pull/26036) * Extensibility * [Add a check to ShouldUseSameServiceProvider even when the extension has no options](https://github.com/dotnet/efcore/pull/26111) * [Preserve extension registration order](https://github.com/dotnet/efcore/pull/26132) * Scaffolding * [Fix indentation when scaffolding with no namespace](https://github.com/dotnet/efcore/pull/25964) * [Generate correct FK configuration for scaffolding](https://github.com/dotnet/efcore/pull/26087) * Tooling * [Tools: Pass absolute project paths to ef.exe](https://github.com/dotnet/efcore/pull/26024) * [Tools: Check for unsupported OS-specific TFMs](https://github.com/dotnet/efcore/pull/26094) * SQLite * [Clear all connection pools before attempting to delete SQLite file](https://github.com/dotnet/efcore/pull/25985) (Reverted) * Dependency updates * [Bump Microsoft.Azure.Cosmos from 3.20.1 to 3.21.0](https://github.com/dotnet/efcore/pull/26001) * Temporal tables * [Fixing bugs around hidden period columns](https://github.com/dotnet/efcore/pull/26013) ### Microsoft.Data.Sqlite * [Also try the .NET 5+ ApplicationData API](https://github.com/dotnet/efcore/pull/26114) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * Preview: [EF Core 6.0 RC1](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.1.21452.10) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.10](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.19](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.19) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 2 years ago

October 7, 2021

Expand to see status from this week...

## Highlights * Check out the full documentation and samples for [everything new in EF Core 6.0](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew). * We have pretty much closed down work on the GA version. Get the bits now in a [daily build](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) and report your issues! * Learn about SQL Server Temporal Tables in EF Core 6.0 with an in-depth demo on the [EF Community Standup](https://youtu.be/2aCgKM41NFw). * The team is now focused on 7.0 planning, internal quality improvements, and documentation. ### Latest Community Standup: SQL Server Temporal Tables In the latest [Entity Framework Community Standup](https://youtu.be/Ya_cmZRwACM), [Arthur Vickers (@ajcvickers)](https://github.com/ajcvickers) demonstrated using EF Core 6.0 with SQL Server temporal tables. Temporal tables automatically keep track of all the data ever stored in a table, even after that data has been updated or deleted. EF Core 6.0 supports the creation of temporal tables using migrations, querying historical data, and restoring data from some point in the past. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. We have now completed all work for EF Core 6.0; please try the [daily build](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) now and help us weed out any remaining bugs. Each high-level area for EF Core 6.0 is linked in the table below together with its final status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Complete | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped/Complete | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Complete | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped/Complete | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Scoped/Complete | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded/Complete | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped/Complete | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Complete | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 RC1 EF Core 6.0 RC1 is [on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.1.21452.10)! The RC1 release contains all the features planned for EF Core 6.0, except [Allow defining column order via [ColumnAttribute.Order] when creating tables](https://github.com/dotnet/efcore/issues/10059) which will ship in RC2. See [What's New in EF Core 6.0](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew) for a detailed look at all the new features in EF Core 6.0. RC1 contains the following new features over those previously shipped in Preview 7: - [SQL Server temporal tables](https://github.com/dotnet/efcore/issues/4693) - [Migrations Bundles](https://github.com/dotnet/efcore/issues/19693) - [Cosmos: Add basic support for collections and dictionaries of primitive types](https://github.com/dotnet/efcore/issues/14762) - [Cosmos: Add translators for member/methods which map to built-in functions](https://github.com/dotnet/efcore/issues/16143) - [Cosmos: Distinct operator in queries](https://github.com/dotnet/efcore/issues/16144) - [Cosmos: Diagnostic events including statistics (query cost, activity id)](https://github.com/dotnet/efcore/issues/17298) - [Cosmos: API to configure throughput](https://github.com/dotnet/efcore/issues/17301) - [Cosmos: Configure TTL per entity/entity type/container](https://github.com/dotnet/efcore/issues/17307) - [Cosmos: FromSql support](https://github.com/dotnet/efcore/issues/17311) - [Cosmos: Resolve HttpClientFactory from DI if available](https://github.com/dotnet/efcore/issues/21274) - [Cosmos: Azure Cosmos DB provider should default to implicit ownership](https://github.com/dotnet/efcore/issues/24803) - [Detect simple join tables in reverse engineering and create many-to-many relationships](https://github.com/dotnet/efcore/issues/22475) - [Translate GroupBy followed by FirstOrDefault over group](https://github.com/dotnet/efcore/issues/12088) - [Support ability to select top N of each group](https://github.com/dotnet/efcore/issues/13805) - [Remove unnecessary *last column* in ORDER BY when joining for collection](https://github.com/dotnet/efcore/issues/19828) - [Add IColumnModification and IModificationCommand to allow the implementations to be replaced easily](https://github.com/dotnet/efcore/issues/12169) - [Non-constant property name in EF.Property (and indexer property)](https://github.com/dotnet/efcore/issues/15832) - [Make the non-thread-safety of DbContext more visible](https://github.com/dotnet/efcore/issues/23319) - [Store options in ServiceProviderCache](https://github.com/dotnet/efcore/issues/19152) - [Adopt MIT license](https://github.com/dotnet/efcore/issues/19844) - [Warn when uniquifying an FK column name](https://github.com/dotnet/efcore/issues/20435) - [Preserve DeleteBehavior when scaffolding a database created by EF Core](https://github.com/dotnet/efcore/issues/21252) - [Add overloads of UsingEntity() that take advantage of conventions](https://github.com/dotnet/efcore/issues/21535) - [Log provider version in addition to EF Core version](https://github.com/dotnet/efcore/issues/22906) - [Indicate where SQL comes from (SaveChanges, LINQ query, etc.) in IDbCommandInterceptor](https://github.com/dotnet/efcore/issues/23719) - [Register a scoped DbContext automatically when using AddDbContextFactory](https://github.com/dotnet/efcore/issues/25164) - [Add extension methods to enable simpler adding and configuration of EF Core providers](https://github.com/dotnet/efcore/issues/25192) - [Simplify HasConversion API](https://github.com/dotnet/efcore/issues/25468) And for Microsoft.Data.Sqlite: - [Pool Connections](https://github.com/dotnet/efcore/issues/13837) RC1 also includes the following new features in previews 1 through 7: - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improvements to optional dependents sharing table with principal](https://github.com/dotnet/efcore/issues/23564) - [Detection of trailing underscores when matching backing fields to properties](https://github.com/dotnet/efcore/issues/23901) - [Performance gain by recycling relational and ADO.NET objects in query execution](https://github.com/dotnet/efcore/issues/24206) - [Allow explicit temporary values to be stored in entity instances](https://github.com/dotnet/efcore/issues/24245) - [Default options added to all ToDebugString methods](https://github.com/dotnet/efcore/issues/24461) - [Improved logging of array parameter values](https://github.com/dotnet/efcore/issues/24595) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) And for Microsoft.Data.Sqlite: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) See GitHub for [all issues resolved in RC1](https://github.com/dotnet/efcore/issues?q=is%3Aissue+is%3Aclosed+milestone%3A6.0.0-rc1). ## EF Core 5.0.10 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.10). This is a patch release of EF Core 5.0 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 5.0.9. ## EF Core 3.1.19 EF Core 3.1.19 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.19). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.18. ## Pull requests merged since the last update ### Community contributions * @koenbeuk: [Updated compatibility of 2 projects to include EF Core 6](https://github.com/dotnet/EntityFramework.Docs/pull/3435) * @Krzysztofz01: [EFCore.QueryFilterBuilder added to extensions list](https://github.com/dotnet/EntityFramework.Docs/pull/3446) * @randomnoise: [Added missing "without"](https://github.com/dotnet/EntityFramework.Docs/pull/3458) Many thanks to all our contributors! ### EF Core * Documentation * [Docs typo](https://github.com/dotnet/efcore/pull/26225) * [Fix API docs errors](https://github.com/dotnet/efcore/pull/26261) * [GroupBy samples for What's New in EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3436) * [Remaining What's New in EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3447) * [Move top-level What's New to EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3449) * [Document SQL Server sparse columns](https://github.com/dotnet/EntityFramework.Docs/pull/3456) * [Document check constraints](https://github.com/dotnet/EntityFramework.Docs/pull/3454) * [Breaking change note on DbSet not implement IAsyncEnumerable](https://github.com/dotnet/EntityFramework.Docs/pull/3455) * [Update translation for SQL Server string.IsNullOrWhitespace](https://github.com/dotnet/EntityFramework.Docs/pull/3461) * [Improvements to context pooling docs](https://github.com/dotnet/EntityFramework.Docs/pull/3460) * [Document snapshot model initialization breaking change](https://github.com/dotnet/EntityFramework.Docs/pull/3464) * [Document extensions breaking changes](https://github.com/dotnet/EntityFramework.Docs/pull/3465) * Query * [SqlExpressionFactory doesn't apply type mapping to InExpression](https://github.com/dotnet/efcore/pull/26153) * [InMemory: Expand owned navigation as optional always](https://github.com/dotnet/efcore/pull/26213) * [Fix to #26166 - Idempotent migration script generates problematic temporal table alter statement](https://github.com/dotnet/efcore/pull/26193) * [Respect AsNoTrackingWithIdentityResolution in AsTracking method](https://github.com/dotnet/efcore/pull/26233) * [Throw for FromSql+Any pattern which has been mutated](https://github.com/dotnet/efcore/pull/26211) * Model building * [Allow HasKey to override HasNoKey](https://github.com/dotnet/efcore/pull/26144) * [Throw a better exception for relationships to keyless entity types](https://github.com/dotnet/efcore/pull/26143) * [Set ValueGenerated.OnUpdateSometimes when more than two properties share the same column](https://github.com/dotnet/efcore/pull/26148) * [Discover join type FK properties using the same naming convention as when creating them](https://github.com/dotnet/efcore/pull/26221) * Miscellaneous * [Code cleanup on EFCore project](https://github.com/dotnet/efcore/pull/26100) * [Code cleanup for remaining product projects](https://github.com/dotnet/efcore/pull/26164) * [Remove excessive spaces from XML doc comments](https://github.com/dotnet/efcore/pull/26170) * Scaffolding * [Fix SQL Server NTS scaffolding code generation](https://github.com/dotnet/efcore/pull/26160) * [Initialize skip collection navigations in ctor](https://github.com/dotnet/efcore/pull/26212) * Tooling * [Warn/error when using new features on old runtimes](https://github.com/dotnet/efcore/pull/26127) * [Separate design time and runtime service for NamedConnectionStringResolver](https://github.com/dotnet/efcore/pull/26205) * Type mapping * [Use covariant return types in RelationalTypeMappingSource](https://github.com/dotnet/efcore/pull/26224) * [Use correct value comparer for generated FK properties](https://github.com/dotnet/efcore/pull/26240) * DbContext * [Fix context pooling concurrency issue](https://github.com/dotnet/efcore/pull/26226) * (5.0) [Fix context pooling concurrency issue](https://github.com/dotnet/efcore/pull/26241) * Migrations * [Code literal support for DateOnly/TimeOnly](https://github.com/dotnet/efcore/pull/26159) * Dependency updates * [Bump Microsoft.Data.SqlClient to 2.1.4](https://github.com/dotnet/efcore/pull/26248) * Cosmos * [Set ValueGenerated.Never for most integer properties](https://github.com/dotnet/efcore/pull/26152) ## Builds to use * The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. * The daily builds now contain what will be the 6.0 GA release. * Preview: [EF Core 6.0 RC1](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.1.21452.10) * Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. * Current: [EF Core 5.0.10](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) * LTS: [EF Core 3.1.19](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.19) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 2 years ago

October 21, 2021

Expand to see status from this week...

## Highlights - Zero issues open for EF Core 6.0 GA - Full documentation and samples: https://aka.ms/efcore-whatsnew60 - Get the 6.0 daily build: https://aka.ms/efcore-daily-builds - New on the .NET Blog: [Prime your flux capacitor: SQL Server temporal tables in EF Core 6.0](https://devblogs.microsoft.com/dotnet/prime-your-flux-capacitor-sql-server-temporal-tables-in-ef-core-6-0/) - Sessions at [.NET Conf 2021](https://www.dotnetconf.net/): - Day 1: What's New in EF Core 6 - Day 2: Modern data APIs with EF Core and GraphQL The team is now focused on 7.0 planning, internal quality improvements, and documentation. ### Latest Community Standup: In the latest [Entity Framework Community Standup](https://youtu.be/2wdJ0xjGF2o), the EF team is joined by [Rick Anderson (@Rick-Anderson)](https://github.com/Rick-Anderson), document writer for ASP.NET Core. We get back to basics, and look at EF Core in Razor Pages and MVC applications. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. We have now completed all work for EF Core 6.0; please try the [daily build](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) now and help us weed out any remaining bugs. Each high-level area for EF Core 6.0 is linked in the table below together with its final status. | EF Core 6.0 Theme | Feature | Status |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|------------ | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Complete | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped/Complete | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Complete | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped/Complete | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Scoped/Complete | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded/Complete | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped/Complete | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Complete | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing ### EF Core 6.0 RC2 EF Core 6.0 RC2 is available from [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.2.21480.5). The RC2 release contains all the features planned for EF Core 6.0. Consider using the [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) to get fixes made for GA since the RC2 release was built. See [What's New in EF Core 6.0](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/whatsnew) for a detailed look at all the new features in EF Core 6.0. In summary, the following new features are included in EF Core 6.0: - [Allow defining column order via [ColumnAttribute.Order] when creating tables](https://github.com/dotnet/efcore/issues/10059) - [SQL Server temporal tables](https://github.com/dotnet/efcore/issues/4693) - [Migrations Bundles](https://github.com/dotnet/efcore/issues/19693) - [Cosmos: Add basic support for collections and dictionaries of primitive types](https://github.com/dotnet/efcore/issues/14762) - [Cosmos: Add translators for member/methods which map to built-in functions](https://github.com/dotnet/efcore/issues/16143) - [Cosmos: Distinct operator in queries](https://github.com/dotnet/efcore/issues/16144) - [Cosmos: Diagnostic events including statistics (query cost, activity id)](https://github.com/dotnet/efcore/issues/17298) - [Cosmos: API to configure throughput](https://github.com/dotnet/efcore/issues/17301) - [Cosmos: Configure TTL per entity/entity type/container](https://github.com/dotnet/efcore/issues/17307) - [Cosmos: FromSql support](https://github.com/dotnet/efcore/issues/17311) - [Cosmos: Resolve HttpClientFactory from DI if available](https://github.com/dotnet/efcore/issues/21274) - [Cosmos: Azure Cosmos DB provider should default to implicit ownership](https://github.com/dotnet/efcore/issues/24803) - [Detect simple join tables in reverse engineering and create many-to-many relationships](https://github.com/dotnet/efcore/issues/22475) - [Translate GroupBy followed by FirstOrDefault over group](https://github.com/dotnet/efcore/issues/12088) - [Support ability to select top N of each group](https://github.com/dotnet/efcore/issues/13805) - [Remove unnecessary *last column* in ORDER BY when joining for collection](https://github.com/dotnet/efcore/issues/19828) - [Add IColumnModification and IModificationCommand to allow the implementations to be replaced easily](https://github.com/dotnet/efcore/issues/12169) - [Non-constant property name in EF.Property (and indexer property)](https://github.com/dotnet/efcore/issues/15832) - [Make the non-thread-safety of DbContext more visible](https://github.com/dotnet/efcore/issues/23319) - [Store options in ServiceProviderCache](https://github.com/dotnet/efcore/issues/19152) - [Adopt MIT license](https://github.com/dotnet/efcore/issues/19844) - [Warn when uniquifying an FK column name](https://github.com/dotnet/efcore/issues/20435) - [Preserve DeleteBehavior when scaffolding a database created by EF Core](https://github.com/dotnet/efcore/issues/21252) - [Add overloads of UsingEntity() that take advantage of conventions](https://github.com/dotnet/efcore/issues/21535) - [Log provider version in addition to EF Core version](https://github.com/dotnet/efcore/issues/22906) - [Indicate where SQL comes from (SaveChanges, LINQ query, etc.) in IDbCommandInterceptor](https://github.com/dotnet/efcore/issues/23719) - [Register a scoped DbContext automatically when using AddDbContextFactory](https://github.com/dotnet/efcore/issues/25164) - [Add extension methods to enable simpler adding and configuration of EF Core providers](https://github.com/dotnet/efcore/issues/25192) - [Simplify HasConversion API](https://github.com/dotnet/efcore/issues/25468) - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improvements to optional dependents sharing table with principal](https://github.com/dotnet/efcore/issues/23564) - [Detection of trailing underscores when matching backing fields to properties](https://github.com/dotnet/efcore/issues/23901) - [Performance gain by recycling relational and ADO.NET objects in query execution](https://github.com/dotnet/efcore/issues/24206) - [Allow explicit temporary values to be stored in entity instances](https://github.com/dotnet/efcore/issues/24245) - [Default options added to all ToDebugString methods](https://github.com/dotnet/efcore/issues/24461) - [Improved logging of array parameter values](https://github.com/dotnet/efcore/issues/24595) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) And for Microsoft.Data.Sqlite: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) - [Pool Connections](https://github.com/dotnet/efcore/issues/13837) See GitHub for [all issues resolved in RC2](https://github.com/dotnet/efcore/issues?q=is%3Aissue+is%3Aclosed+milestone%3A6.0.0-rc2). ## EF Core 5.0.11 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.11). This is a patch release of EF Core 5.0 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 5.0.10. ## EF Core 3.1.20 EF Core 3.1.20 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.20). This is a patch release of EF Core 3.1 containing only [important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.20+is%3Aclosed): - [Update SQLitePCLRaw.bundle_e_sqlite3 from 2.0.2 to 2.0.4](https://github.com/dotnet/efcore/issues/25497) ## Pull requests merged since the last update ### Community contributions - @sdanyliv: [Updated linq2db.EntityFrameworkCore section with support EF Core 2](https://github.com/dotnet/EntityFramework.Docs/pull/3433) - @loic-sharma: [Add missing space](https://github.com/dotnet/EntityFramework.Docs/pull/3474) - @lateneze: [Update entity-state.md](https://github.com/dotnet/EntityFramework.Docs/pull/3475) - @SitholeWB: [Add Pagination.EntityFrameworkCore.Extensions](https://github.com/dotnet/EntityFramework.Docs/pull/3482) - @AinoraZ: [Fixed typo in "What's New in EF Core 6.0" page](https://github.com/dotnet/EntityFramework.Docs/pull/3499) Many thanks to all our contributors! ### EF Core - Query - [More GroupBy tests](https://github.com/dotnet/efcore/pull/26105) - [Fix to #25954 - [EFCore 6.0] [Firebird] Problem with test NorthwindMiscellaneousQueryTestBase.Entity_equality_on_subquery_with_null_check](https://github.com/dotnet/efcore/pull/26269) - [Fix to #26271 - Temporal history table name always based on entity type name, not table name](https://github.com/dotnet/efcore/pull/26281) - [Make Projection_AsEnumerable_projection deterministic](https://github.com/dotnet/efcore/pull/26285) - [Update odata tests to 8.0](https://github.com/dotnet/efcore/pull/26201) - [Some regression tests for OData related issues](https://github.com/dotnet/efcore/pull/26324) - [Removing unnecessary spatial test for InMemory](https://github.com/dotnet/efcore/pull/26335) - [Fix to #19356 - Query: Add more tests for Queryable.Reverse](https://github.com/dotnet/efcore/pull/26362) - [Fix to #26353 - Test Subquery_with_Distinct_Skip_FirstOrDefault_without_OrderBy is non-deterministic](https://github.com/dotnet/efcore/pull/26363) - [Fix to #26357 - SqlNullabilityProcessor.VisitSqlFunction, Nullability of SUM function](https://github.com/dotnet/efcore/pull/26401) - [No test left behind](https://github.com/dotnet/efcore/pull/26382) - Documentation - [Add TL;DR section for daily builds](https://github.com/dotnet/efcore/pull/26300) - [Document metadata breaking changes](https://github.com/dotnet/EntityFramework.Docs/pull/3466) - [Document provider-specific breaking changes](https://github.com/dotnet/EntityFramework.Docs/pull/3467) - [Also mention NRTs in a 5.0 breaking change](https://github.com/dotnet/EntityFramework.Docs/pull/3468) - [Update breaking-changes.md](https://github.com/dotnet/EntityFramework.Docs/pull/3477) - [Document PrecisionAttribute, UnicodeAttribute and SQL Server UTF8](https://github.com/dotnet/EntityFramework.Docs/pull/3478) - [Document remaining 6.0 translations](https://github.com/dotnet/EntityFramework.Docs/pull/3473) - [Doc updates for breaking changes and switching to daily GA build](https://github.com/dotnet/EntityFramework.Docs/pull/3492) - [Breaking change for nested optional dependents sharing table with no required properties](https://github.com/dotnet/EntityFramework.Docs/pull/3496) - [Document DbFunctionBuilder.HasSchema(null) breaking change](https://github.com/dotnet/EntityFramework.Docs/pull/3497) - Model building - [Configure the correct end as principal for self-ref collection with ForeignKeyAttribute](https://github.com/dotnet/efcore/pull/26372) - Miscellaneous - [Improved exception messages](https://github.com/dotnet/efcore/pull/26398) - Tooling - (6.0) [Test changes to make sure applicationName is set when using new template pattern](https://github.com/dotnet/efcore/pull/26204) - Type mapping - (6.0) [Mark internal the ValueConverter constructors that allow conversion of nulls](https://github.com/dotnet/efcore/pull/26232) - Migrations - [Full coverage for CSharpSnapshotGenerator](https://github.com/dotnet/efcore/pull/26297) - Cosmos - [Remove automatic composition of discriminator filter in raw SQL queries](https://github.com/dotnet/efcore/pull/26292) - Change tracking - [Update ProxyGraphUpdatesInMemoryTest](https://github.com/dotnet/efcore/pull/26301) - SaveChanges - (6.0) [Flag all properties as not unknown when saving changes](https://github.com/dotnet/efcore/pull/26346) ## Builds to use - The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. - The daily builds now contain what will be the 6.0 GA release. - Preview: [EF Core 6.0 RC2](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.2.21480.5) - Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. - Current: [EF Core 5.0.11](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) - LTS: [EF Core 3.1.20](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.20) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 2 years ago

November 4, 2021

Expand to see status from this week...

## Highlights - EF Core 6.0 GA is out this month! - The same code as we will ship for 6.0 GA are available now from the daily build feed: https://aka.ms/efcor-daily-builds - Full documentation and samples: https://aka.ms/efcore-whatsnew60 - Learn more at [.NET Conf 2021](https://www.dotnetconf.net/): - Day 1: What's New in EF Core 6 - Day 2: Modern data APIs with EF Core and GraphQL - Planning for EF Core 7.0 is well underway. Expect to hear more in the coming weeks. - Internal quality work and documentation is ongoing. ### Latest Community Standup: Noda Time In the latest Entity Framework Community Standup, the EF team [talks about Noda Time](https://youtu.be/ZLJLfImuFqM) with [Jon Skeet (@jskeet)](https://github.com/jskeet). Noda Time is an alternative date and time API for .NET. It helps you to think about your data more clearly, and express operations on that data more precisely. We talk about Noda Time in general and the problems it solves, as well as how it can be used in LINQ queries and updates when using EF Core with SQL Server, PostgreSQL, or SQLite. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 will be the next release after EF Core 5.0. It will be released alongside .NET 6 in November 2021. We have now completed all work for EF Core 6.0; please try the [daily build](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) now and help us weed out any remaining bugs. Each high-level area for EF Core 6.0 is linked in the table below together with its final status. | EF Core 6.0 Theme | Feature | Status | |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|-------------------| | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Complete | | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped/Complete | | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Complete | | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped/Complete | | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Scoped/Complete | | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded/Complete | | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped/Complete | | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Complete | | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing | ### EF Core 6.0 RC2 EF Core 6.0 RC2 is available from [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.2.21480.5). The RC2 release contains all the features planned for EF Core 6.0. Consider using the [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) to get fixes made for GA since the RC2 release was built. See [What's New in EF Core 6.0](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/whatsnew) for a detailed look at all the new features in EF Core 6.0. In summary, the following new features are included in EF Core 6.0: - [Allow defining column order via [ColumnAttribute.Order] when creating tables](https://github.com/dotnet/efcore/issues/10059) - [SQL Server temporal tables](https://github.com/dotnet/efcore/issues/4693) - [Migrations Bundles](https://github.com/dotnet/efcore/issues/19693) - [Cosmos: Add basic support for collections and dictionaries of primitive types](https://github.com/dotnet/efcore/issues/14762) - [Cosmos: Add translators for member/methods which map to built-in functions](https://github.com/dotnet/efcore/issues/16143) - [Cosmos: Distinct operator in queries](https://github.com/dotnet/efcore/issues/16144) - [Cosmos: Diagnostic events including statistics (query cost, activity id)](https://github.com/dotnet/efcore/issues/17298) - [Cosmos: API to configure throughput](https://github.com/dotnet/efcore/issues/17301) - [Cosmos: Configure TTL per entity/entity type/container](https://github.com/dotnet/efcore/issues/17307) - [Cosmos: FromSql support](https://github.com/dotnet/efcore/issues/17311) - [Cosmos: Resolve HttpClientFactory from DI if available](https://github.com/dotnet/efcore/issues/21274) - [Cosmos: Azure Cosmos DB provider should default to implicit ownership](https://github.com/dotnet/efcore/issues/24803) - [Detect simple join tables in reverse engineering and create many-to-many relationships](https://github.com/dotnet/efcore/issues/22475) - [Translate GroupBy followed by FirstOrDefault over group](https://github.com/dotnet/efcore/issues/12088) - [Support ability to select top N of each group](https://github.com/dotnet/efcore/issues/13805) - [Remove unnecessary *last column* in ORDER BY when joining for collection](https://github.com/dotnet/efcore/issues/19828) - [Add IColumnModification and IModificationCommand to allow the implementations to be replaced easily](https://github.com/dotnet/efcore/issues/12169) - [Non-constant property name in EF.Property (and indexer property)](https://github.com/dotnet/efcore/issues/15832) - [Make the non-thread-safety of DbContext more visible](https://github.com/dotnet/efcore/issues/23319) - [Store options in ServiceProviderCache](https://github.com/dotnet/efcore/issues/19152) - [Adopt MIT license](https://github.com/dotnet/efcore/issues/19844) - [Warn when uniquifying an FK column name](https://github.com/dotnet/efcore/issues/20435) - [Preserve DeleteBehavior when scaffolding a database created by EF Core](https://github.com/dotnet/efcore/issues/21252) - [Add overloads of UsingEntity() that take advantage of conventions](https://github.com/dotnet/efcore/issues/21535) - [Log provider version in addition to EF Core version](https://github.com/dotnet/efcore/issues/22906) - [Indicate where SQL comes from (SaveChanges, LINQ query, etc.) in IDbCommandInterceptor](https://github.com/dotnet/efcore/issues/23719) - [Register a scoped DbContext automatically when using AddDbContextFactory](https://github.com/dotnet/efcore/issues/25164) - [Add extension methods to enable simpler adding and configuration of EF Core providers](https://github.com/dotnet/efcore/issues/25192) - [Simplify HasConversion API](https://github.com/dotnet/efcore/issues/25468) - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improvements to optional dependents sharing table with principal](https://github.com/dotnet/efcore/issues/23564) - [Detection of trailing underscores when matching backing fields to properties](https://github.com/dotnet/efcore/issues/23901) - [Performance gain by recycling relational and ADO.NET objects in query execution](https://github.com/dotnet/efcore/issues/24206) - [Allow explicit temporary values to be stored in entity instances](https://github.com/dotnet/efcore/issues/24245) - [Default options added to all ToDebugString methods](https://github.com/dotnet/efcore/issues/24461) - [Improved logging of array parameter values](https://github.com/dotnet/efcore/issues/24595) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) And for Microsoft.Data.Sqlite: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) - [Pool Connections](https://github.com/dotnet/efcore/issues/13837) See GitHub for [all issues resolved in RC2](https://github.com/dotnet/efcore/issues?q=is%3Aissue+is%3Aclosed+milestone%3A6.0.0-rc2). ## EF Core 5.0.11 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.11). This is a patch release of EF Core 5.0 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 5.0.10. ## EF Core 3.1.20 EF Core 3.1.20 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.20). This is a patch release of EF Core 3.1 containing only [important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A3.1.20+is%3Aclosed): - [Update SQLitePCLRaw.bundle_e_sqlite3 from 2.0.2 to 2.0.4](https://github.com/dotnet/efcore/issues/25497) ## Pull requests merged since the last update ### Community contributions - @0xced: [Do not scaffold a default constructor when OnConfiguring is suppressed](https://github.com/dotnet/efcore/pull/26470) - @Sickae: [Fixed syntax error in sample code](https://github.com/dotnet/EntityFramework.Docs/pull/3507) - @ErikEJ: [Add NuGet links](https://github.com/dotnet/EntityFramework.Docs/pull/3524) Many thanks to all our contributors! ### EF Core - Documentation - [Use remarks in XML docs](https://github.com/dotnet/efcore/pull/26439) - [Check and update service lifetime docs](https://github.com/dotnet/efcore/pull/26445) - [Add column ordering to What's New](https://github.com/dotnet/EntityFramework.Docs/pull/3503) - [Rearrange modeling code samples in thematic structure](https://github.com/dotnet/EntityFramework.Docs/pull/3501) - [Fixed formatting and moved to end](https://github.com/dotnet/EntityFramework.Docs/pull/3498) - [Add documentation for Compiled models](https://github.com/dotnet/EntityFramework.Docs/pull/3504) - [Document compiled queries](https://github.com/dotnet/EntityFramework.Docs/pull/3502) - [Document SQLite connection pool breaking change](https://github.com/dotnet/EntityFramework.Docs/pull/3506) - [Document scaffolding of many-to-many as a breaking change](https://github.com/dotnet/EntityFramework.Docs/pull/3508) - [Document HasColumnOrder](https://github.com/dotnet/EntityFramework.Docs/pull/3510) - [Adding more breaking changes info for EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3512) - [Document shared-type entity types](https://github.com/dotnet/EntityFramework.Docs/pull/3511) - Query - [Fix to #26397 - Query/Test: convert the "no_data" tests in NorthwindAggregateOperatorsQueryTestBase to use AssertQuery](https://github.com/dotnet/efcore/pull/26420) - [Fix to #26344 - SqlNullabilityProcessor and COALESCE with more than two arguments](https://github.com/dotnet/efcore/pull/26419) - [Query: Throw exception for null key value in non-tracking](https://github.com/dotnet/efcore/pull/26311) - [Query: Remove obsoleted code](https://github.com/dotnet/efcore/pull/26475) - [Query: Convert IReadOnlyCollection.Count to Queryable.Count()](https://github.com/dotnet/efcore/pull/26483) - [Identify WITH as generally composable in FromSql](https://github.com/dotnet/efcore/pull/26484) - [Query: Identify Contains on IReadOnlySet/IImmutableSet](https://github.com/dotnet/efcore/pull/26487) - Miscellaneous - [No skipped tests in non-functional tests](https://github.com/dotnet/efcore/pull/26450) - [Evolve null-checking approach](https://github.com/dotnet/efcore/pull/26459) - [Evolve null-checking approach in EFCore.Design](https://github.com/dotnet/efcore/pull/26481) - [Evolve null-checking approach in EFCore.InMemory](https://github.com/dotnet/efcore/pull/26509) - Dependencies - [Bump Microsoft.Azure.Cosmos from 3.21.0 to 3.22.1](https://github.com/dotnet/efcore/pull/26503) ## Builds to use - The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. - The daily builds now contain what will be the 6.0 GA release. - Preview: [EF Core 6.0 RC2](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.0-rc.2.21480.5) - Using the daily builds or previews is a great way to find issues and provide feedback as early as possible. The sooner we get such feedback, the more likely it will be actionable before the next official release. - Current: [EF Core 5.0.11](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) - LTS: [EF Core 3.1.20](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.20) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 2 years ago

November 18, 2021

Expand to see status from this week...

## Highlights - EF Core 6.0 GA is [released on NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/)! - See [What's New in EF Core 6.0](https://aka.ms/efcore-whatsnew60) for full documentation and samples. - .NET Conf talks: - See EF Core accessing SQLite in Blazor WebAssembly on [New Blazor WebAssembly capabilities in .NET 6](https://youtu.be/kesUNeBZ1Os) - "I was just thinking 'as soon as blazor has EF, it's game over'" - "Blazor WebAssembly + EF + SQL Lite is just a game changer for me." - [Modern data APIs with EF Core and GraphQL](https://youtu.be/GBvTRcV4PVA) - "Awesome. I really see a ton of use cases for GraphQL with EF." - "Super" - [What's New in EF Core 6](https://youtu.be/_1fJeW4F3ts) - "Performance: +1, Configure Conventions: +1, Migration Bundles: +1, Temporal Table Support: +1. Killing it with each release." - "Loving the ef migration bundle option." - The plan for EF Core 7.0 (EF7) is being reviewed internally. Expect to hear more in the coming weeks. - Patching for 6.0.1, internal quality work and documentation is ongoing. ### Latest Community Standup: EF Core 6.0 Release Party In [the latest Entity Framework Community Standup](https://youtu.be/cx6IUURncgk), the EF team chats with community stalwarts [Julie Lerman (@julielerman)](https://github.com/julielerman), [Jon P Smith (@JonPSmith)](https://github.com/JonPSmith), and [Erik Ejlskov Jensen (@ErikEJ)](https://github.com/ErikEJ) pick their favorite features in EF Core 6.0, and we take a look at the GitHub samples for those features. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://dotnet.microsoft.com/live/community-standup), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 was [released to NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) on November 8, alongside [.NET 6](https://dotnet.microsoft.com/download/dotnet/6.0). Each high-level area for EF Core 6.0 is linked in the table below together with its final status. | EF Core 6.0 Theme | Feature | Status | |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|-------------------| | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Complete | | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped/Complete | | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Complete | | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped/Complete | | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Scoped/Complete | | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded/Complete | | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped/Complete | | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Complete | | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing | See [What's New in EF Core 6.0](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/whatsnew) for a detailed look at all the new features in EF Core 6.0. In summary, the following new features are included in EF Core 6.0: - [Allow defining column order via [ColumnAttribute.Order] when creating tables](https://github.com/dotnet/efcore/issues/10059) - [SQL Server temporal tables](https://github.com/dotnet/efcore/issues/4693) - [Migrations Bundles](https://github.com/dotnet/efcore/issues/19693) - [Cosmos: Add basic support for collections and dictionaries of primitive types](https://github.com/dotnet/efcore/issues/14762) - [Cosmos: Add translators for member/methods which map to built-in functions](https://github.com/dotnet/efcore/issues/16143) - [Cosmos: Distinct operator in queries](https://github.com/dotnet/efcore/issues/16144) - [Cosmos: Diagnostic events including statistics (query cost, activity id)](https://github.com/dotnet/efcore/issues/17298) - [Cosmos: API to configure throughput](https://github.com/dotnet/efcore/issues/17301) - [Cosmos: Configure TTL per entity/entity type/container](https://github.com/dotnet/efcore/issues/17307) - [Cosmos: FromSql support](https://github.com/dotnet/efcore/issues/17311) - [Cosmos: Resolve HttpClientFactory from DI if available](https://github.com/dotnet/efcore/issues/21274) - [Cosmos: Azure Cosmos DB provider should default to implicit ownership](https://github.com/dotnet/efcore/issues/24803) - [Detect simple join tables in reverse engineering and create many-to-many relationships](https://github.com/dotnet/efcore/issues/22475) - [Translate GroupBy followed by FirstOrDefault over group](https://github.com/dotnet/efcore/issues/12088) - [Support ability to select top N of each group](https://github.com/dotnet/efcore/issues/13805) - [Remove unnecessary *last column* in ORDER BY when joining for collection](https://github.com/dotnet/efcore/issues/19828) - [Add IColumnModification and IModificationCommand to allow the implementations to be replaced easily](https://github.com/dotnet/efcore/issues/12169) - [Non-constant property name in EF.Property (and indexer property)](https://github.com/dotnet/efcore/issues/15832) - [Make the non-thread-safety of DbContext more visible](https://github.com/dotnet/efcore/issues/23319) - [Store options in ServiceProviderCache](https://github.com/dotnet/efcore/issues/19152) - [Adopt MIT license](https://github.com/dotnet/efcore/issues/19844) - [Warn when uniquifying an FK column name](https://github.com/dotnet/efcore/issues/20435) - [Preserve DeleteBehavior when scaffolding a database created by EF Core](https://github.com/dotnet/efcore/issues/21252) - [Add overloads of UsingEntity() that take advantage of conventions](https://github.com/dotnet/efcore/issues/21535) - [Log provider version in addition to EF Core version](https://github.com/dotnet/efcore/issues/22906) - [Indicate where SQL comes from (SaveChanges, LINQ query, etc.) in IDbCommandInterceptor](https://github.com/dotnet/efcore/issues/23719) - [Register a scoped DbContext automatically when using AddDbContextFactory](https://github.com/dotnet/efcore/issues/25164) - [Add extension methods to enable simpler adding and configuration of EF Core providers](https://github.com/dotnet/efcore/issues/25192) - [Simplify HasConversion API](https://github.com/dotnet/efcore/issues/25468) - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improvements to optional dependents sharing table with principal](https://github.com/dotnet/efcore/issues/23564) - [Detection of trailing underscores when matching backing fields to properties](https://github.com/dotnet/efcore/issues/23901) - [Performance gain by recycling relational and ADO.NET objects in query execution](https://github.com/dotnet/efcore/issues/24206) - [Allow explicit temporary values to be stored in entity instances](https://github.com/dotnet/efcore/issues/24245) - [Default options added to all ToDebugString methods](https://github.com/dotnet/efcore/issues/24461) - [Improved logging of array parameter values](https://github.com/dotnet/efcore/issues/24595) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) And for Microsoft.Data.Sqlite: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) - [Pool Connections](https://github.com/dotnet/efcore/issues/13837) See GitHub for [all issues resolved in 6.0](https://github.com/dotnet/efcore/issues?q=is%3Aissue+is%3Aclosed+milestone%3A6.0.0). ## EF Core 5.0.12 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.12). This is a patch release of EF Core 5.0 containing only [important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.12+is%3Aclosed): - [ObjectDisposedException on retrieval of a pooled DbContext](https://github.com/dotnet/efcore/issues/26202) ## EF Core 3.1.21 EF Core 3.1.21 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.21). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.20. ## Pull requests merged since the last update ### Community contributions - @bobbyangers: [Fix MigrationsSqliteTest tests](https://github.com/dotnet/efcore/pull/26572) - @bobbyangers: [CREATE SEQUENCE for decimal (sql server)](https://github.com/dotnet/efcore/pull/26566) - @mburleigh: [Fix typo](https://github.com/dotnet/efcore/pull/26575) - @yosoyhabacuc: [SqlServer: Add translation for string.IndexOf(string, int)](https://github.com/dotnet/efcore/pull/26623) - @stevendarby: [Use EqualsExact in DefaultDateTimeOffsetValueComparer](https://github.com/dotnet/efcore/pull/26678) - @bschaeublin: [Cache Eventargs in SQLiteConnection](https://github.com/dotnet/efcore/pull/26291) - @vonzshik: [Cache ParamCount together with a statement for SQLite](https://github.com/dotnet/efcore/pull/26380) - @stefannikolei: [Set default capacity of prepared Statements](https://github.com/dotnet/efcore/pull/26514) - @simon-reynolds: [Correct SQL in many-to-many scaffold sample](https://github.com/dotnet/EntityFramework.Docs/pull/3549) Many thanks to all our contributors! ### EF Core - Documentation - [Add note on Cosmos in the owned types section](https://github.com/dotnet/EntityFramework.Docs/pull/3530) - [Document Migration Bundles](https://github.com/dotnet/EntityFramework.Docs/pull/3527) - [Fix links](https://github.com/dotnet/EntityFramework.Docs/pull/3543) - [Update top-level docs for 6.0 release](https://github.com/dotnet/EntityFramework.Docs/pull/3545) - [Initial update to run samples on .NET 6 with EF Core 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3531) - [Correct Stirling -> Sterling](https://github.com/dotnet/EntityFramework.Docs/pull/3538) - [Upgrade Saving sample to 6.0.0](https://github.com/dotnet/EntityFramework.Docs/pull/3544) - [Typos](https://github.com/dotnet/EntityFramework.Docs/pull/3547) - [Update some extension versions](https://github.com/dotnet/EntityFramework.Docs/pull/3542) - [Document AutoInclude](https://github.com/dotnet/EntityFramework.Docs/pull/3550) - [Update provider versions to 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3553) - [Fixes to 6.0 what's new page](https://github.com/dotnet/EntityFramework.Docs/pull/3554) - [Fix some docs bugs](https://github.com/dotnet/EntityFramework.Docs/pull/3559) - [Update nullable reference type notes for 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3569) - [End of life 2.1](https://github.com/dotnet/EntityFramework.Docs/pull/3392) - [Update daily builds for EF7](https://github.com/dotnet/efcore/pull/26722) - Miscellaneous - [Evolve null-checking approach in extensions](https://github.com/dotnet/efcore/pull/26527) - [Evolve null-checking approach in SQL Server](https://github.com/dotnet/efcore/pull/26534) - [Evolve null-checking approach in Relational](https://github.com/dotnet/efcore/pull/26537) - [Evolve null-checking approach in EFCore](https://github.com/dotnet/efcore/pull/26557) - [Remove quirks](https://github.com/dotnet/efcore/pull/26639) - [Make concurrent test use different connections](https://github.com/dotnet/efcore/pull/26670) - [Evolve null-checking approach in SQLite provider](https://github.com/dotnet/efcore/pull/26535) - [Remove quirks from main](https://github.com/dotnet/efcore/pull/26711) - Query - [Cleanup regarding TODO notes](https://github.com/dotnet/efcore/pull/26533) - (6.0.1) [Copy client projections when updating SelectExpression](https://github.com/dotnet/efcore/pull/26431) - (6.0.1) [Optimize Contains to Any recursively](https://github.com/dotnet/efcore/pull/26599) - [More VB CompareString normalization](https://github.com/dotnet/efcore/pull/26642) - [Avoid pushdown when joining with a subquery which can be lifted out](https://github.com/dotnet/efcore/pull/26476) - (6.0.1) [Query: Update table references in pushdown after moving table references to subquery](https://github.com/dotnet/efcore/pull/26700) - [Introduce method for providing brackets around SqlExpression based on operator precedence](https://github.com/dotnet/efcore/pull/26660) - Model building - (6.0.1) [Avoid NRE in ForeignKeyAttributeConvention](https://github.com/dotnet/efcore/pull/26520) - (6.0.1) [Allow non-nullable value comparer to be applied on nullable properties](https://github.com/dotnet/efcore/pull/26430) - (6.0.1) [Match indexer properties correctly](https://github.com/dotnet/efcore/pull/26645) - (6.0.1) [Avoid infinite loop when finding principal in circular relationships](https://github.com/dotnet/efcore/pull/26699) - (6.0.1) [Return null schema for unmapped entity types](https://github.com/dotnet/efcore/pull/26730) - (6.0.1) [Use the correct builder when attaching indexes on nested owned entity types](https://github.com/dotnet/efcore/pull/26720) - (6.0.1) [Update the foreign key builder after IsRequired()](https://github.com/dotnet/efcore/pull/26719) - Scaffolding - [Don't use nameof syntax](https://github.com/dotnet/efcore/pull/26622) - (6.0.1) [Consider skip navigation names when generating identifier for members of class](https://github.com/dotnet/efcore/pull/26531) - Dependency Updates - [Bump Microsoft.Azure.Cosmos from 3.22.1 to 3.23.0](https://github.com/dotnet/efcore/pull/26693) - [Bump Microsoft.AspNetCore.OData from 8.0.3 to 8.0.4](https://github.com/dotnet/efcore/pull/26692) - Migrations - [Add test coverage for index recreation](https://github.com/dotnet/efcore/pull/26657) - Tooling - (6.0.1) [Register design-time LoggerFactory as Scoped](https://github.com/dotnet/efcore/pull/26460) - SaveChanges - (6.0.1) [Use a unique identifier for variables during insert](https://github.com/dotnet/efcore/pull/26679) - Cosmos - (6.0.1) [Use configured serializer when reading](https://github.com/dotnet/efcore/pull/26702) ### Microsoft.Data.Sqlite - (6.0.1) [Clean up on application exit](https://github.com/dotnet/efcore/pull/26529) - (6.0.1) [Use read-write lock to protect SQLite concurrent pool accesses](https://github.com/dotnet/efcore/pull/26697) - (6.0.1) [Handle more nulls in ApplicationDataHelper](https://github.com/dotnet/efcore/pull/26637) ## Builds to use - The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. - The daily builds now contain all issues merged for 6.0.x patch releases, as well as new code to be released in EF7 preview 1. - LTS: [EF Core 6.0.0](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) - Supported: [EF Core 5.0.12](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.12) - Supported: [EF Core 3.1.21](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.21) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 2 years ago

December 2, 2021

Expand to see status from this week...

## Highlights - In case you missed it, EF Core 6.0 GA is [available on NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/)! - Well over 400,000 NuGet downloads in the first three weeks! - New [Get to Know EF Core 6](https://devblogs.microsoft.com/dotnet/get-to-know-ef-core-6/) post on the .NET Blog. - Community Standup: [Hot Chocolate 12 and GraphQL 2021](https://youtu.be/3_4nt2QQSeE) - The plan for EF Core 7.0 (EF7) is being reviewed by management next week. We will publish it soon after. - Patching for 6.0.2, internal quality work, and documentation is ongoing. ### Latest Community Standup: Hot Chocolate 12 and GraphQL 2021 In the last Entity Framework Community Standup of the year, the EF team is joined by [Michael Staib (@michael_staib)](https://twitter.com/michael_staib), who shows us [what's new in Hot Chocolate 12 and GraphQL 2021](https://youtu.be/3_4nt2QQSeE). Hot Chocolate 12 allows for more schema-building options with deeper integrations into EF core. Hot Chocolate has already implemented the new GraphQL October 2021 spec, and we will explore the new capabilities. We now support the complete stream and defer spec and will look into these new data fetching capabilities. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://aka.ms/efstandups), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 6.0 EF Core 6.0 was [released to NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) on November 8, alongside [.NET 6](https://dotnet.microsoft.com/download/dotnet/6.0). Each high-level area for EF Core 6.0 is linked in the table below together with its final status. | EF Core 6.0 Theme | Feature | Status | |:-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|-------------------| | Highly requested features | [SQL Server temporal tables](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sql-server-temporal-tables) | Complete | | | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#json-columns) | Cut | | | [ColumnAttribute.Order](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#columnattributeorder) | Complete | | Performance | [Infrastructure and tests](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#performance-infrastructure-and-new-tests) | Complete | | | [Compiled models](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#compiled-models) | Complete | | | [TechEmpower Fortunes](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#techempower-fortunes) | Complete | | | [Linker/AOT](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#linkeraot) | Scoped/Complete | | Migrations and deployment | [Migrations bundles](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#migrations-bundles) | Complete | | | [Managing migrations](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#managing-migrations) | Scoped/Complete | | Improve existing features | [EF6 query parity](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#ef6-query-parity) | Scoped/Complete | | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#value-objects) | Cut | | | [Cosmos database provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#cosmos-database-provider) | Expanded/Complete | | | [Public model conventions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#expose-model-building-conventions-to-applications) | Cut | | | [Zero bug balance](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#zero-bug-balance-zbb) | Scoped/Complete | | .NET integration | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-systemdata) | Complete | | | [Enhancements to Microsoft.Data.Sqlite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#enhancements-to-microsoftdatasqlite) | Complete | | | [Nullable reference types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#nullable-reference-types) | Complete | | Experiments and investigations | [SqlServer.Core](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#sqlservercore) | Ongoing | | | [GraphQL](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#graphql) | Ongoing | | | [DataVerse](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/plan#dataverse-formerly-common-data-services) | Ongoing | See [What's New in EF Core 6.0](https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/whatsnew) for a detailed look at all the new features in EF Core 6.0. In summary, the following new features are included in EF Core 6.0: - [Allow defining column order via [ColumnAttribute.Order] when creating tables](https://github.com/dotnet/efcore/issues/10059) - [SQL Server temporal tables](https://github.com/dotnet/efcore/issues/4693) - [Migrations Bundles](https://github.com/dotnet/efcore/issues/19693) - [Cosmos: Add basic support for collections and dictionaries of primitive types](https://github.com/dotnet/efcore/issues/14762) - [Cosmos: Add translators for member/methods which map to built-in functions](https://github.com/dotnet/efcore/issues/16143) - [Cosmos: Distinct operator in queries](https://github.com/dotnet/efcore/issues/16144) - [Cosmos: Diagnostic events including statistics (query cost, activity id)](https://github.com/dotnet/efcore/issues/17298) - [Cosmos: API to configure throughput](https://github.com/dotnet/efcore/issues/17301) - [Cosmos: Configure TTL per entity/entity type/container](https://github.com/dotnet/efcore/issues/17307) - [Cosmos: FromSql support](https://github.com/dotnet/efcore/issues/17311) - [Cosmos: Resolve HttpClientFactory from DI if available](https://github.com/dotnet/efcore/issues/21274) - [Cosmos: Azure Cosmos DB provider should default to implicit ownership](https://github.com/dotnet/efcore/issues/24803) - [Detect simple join tables in reverse engineering and create many-to-many relationships](https://github.com/dotnet/efcore/issues/22475) - [Translate GroupBy followed by FirstOrDefault over group](https://github.com/dotnet/efcore/issues/12088) - [Support ability to select top N of each group](https://github.com/dotnet/efcore/issues/13805) - [Remove unnecessary *last column* in ORDER BY when joining for collection](https://github.com/dotnet/efcore/issues/19828) - [Add IColumnModification and IModificationCommand to allow the implementations to be replaced easily](https://github.com/dotnet/efcore/issues/12169) - [Non-constant property name in EF.Property (and indexer property)](https://github.com/dotnet/efcore/issues/15832) - [Make the non-thread-safety of DbContext more visible](https://github.com/dotnet/efcore/issues/23319) - [Store options in ServiceProviderCache](https://github.com/dotnet/efcore/issues/19152) - [Adopt MIT license](https://github.com/dotnet/efcore/issues/19844) - [Warn when uniquifying an FK column name](https://github.com/dotnet/efcore/issues/20435) - [Preserve DeleteBehavior when scaffolding a database created by EF Core](https://github.com/dotnet/efcore/issues/21252) - [Add overloads of UsingEntity() that take advantage of conventions](https://github.com/dotnet/efcore/issues/21535) - [Log provider version in addition to EF Core version](https://github.com/dotnet/efcore/issues/22906) - [Indicate where SQL comes from (SaveChanges, LINQ query, etc.) in IDbCommandInterceptor](https://github.com/dotnet/efcore/issues/23719) - [Register a scoped DbContext automatically when using AddDbContextFactory](https://github.com/dotnet/efcore/issues/25164) - [Add extension methods to enable simpler adding and configuration of EF Core providers](https://github.com/dotnet/efcore/issues/25192) - [Simplify HasConversion API](https://github.com/dotnet/efcore/issues/25468) - [Support Timeout.InfiniteTimeSpan in SetCommandTimeout](https://github.com/dotnet/efcore/issues/25068) - [Support suspending/bypassing the configured DbContext's IExecutionStrategy](https://github.com/dotnet/efcore/issues/24922) - [Support 64-bit Identity seed values](https://github.com/dotnet/efcore/issues/24840) - [Warn when saving an optional dependent with all null properties when table splitting](https://github.com/dotnet/efcore/issues/24558) - [Remove existing schema when HasSchema(null) is called](https://github.com/dotnet/efcore/issues/24228) - [Add equivalent of IRelationalDbContextOptionsBuilderInfrastructure to in-memory provider](https://github.com/dotnet/efcore/issues/23669) - [Make HasDbFunction on function override implicit ToTable mapping](https://github.com/dotnet/efcore/issues/23408) - [Make IScaffoldingModelFactory public](https://github.com/dotnet/efcore/issues/23049) - [Uniquify and validate Check Constraint name](https://github.com/dotnet/efcore/issues/18958) - [Translate MathF members to SQL functions on SQLite](https://github.com/dotnet/efcore/issues/18842) - [Pre-convention model configuration](https://github.com/dotnet/efcore/issues/12229) - [Mechanism/API to specify a default conversion for any property of a given type in the model](https://github.com/dotnet/efcore/issues/10784) - [Support Ignore() for non entity type candidates](https://github.com/dotnet/efcore/issues/3867) - [Reduce EF Core application startup time via compiled models](https://github.com/dotnet/efcore/issues/1906) - [Add TagWith overload that gets the filename and line number automatically](https://github.com/dotnet/efcore/issues/14176) - [Translate bool ToString for SQL Server](https://github.com/dotnet/efcore/issues/14205) - [Scaffold from a database and generate C# 8 nullable reference types](https://github.com/dotnet/efcore/issues/15520) - [Translate Substring with single parameter](https://github.com/dotnet/efcore/issues/20173) - [Support split queries for projections containing non-navigation collections](https://github.com/dotnet/efcore/issues/21234) - [Improve EF Core performance on TechEmpower Fortunes](https://github.com/dotnet/efcore/issues/23611) - [Support empty constructor and DbContextOptions constructor in DbContextFactory](https://github.com/dotnet/efcore/issues/24124) - [Make DbContext pooling accessible to non-DI applications](https://github.com/dotnet/efcore/issues/24137) - [Increase the default maximum context pool size to 1024](https://github.com/dotnet/efcore/issues/24849) - [Improvements to optional dependents sharing table with principal](https://github.com/dotnet/efcore/issues/23564) - [Detection of trailing underscores when matching backing fields to properties](https://github.com/dotnet/efcore/issues/23901) - [Performance gain by recycling relational and ADO.NET objects in query execution](https://github.com/dotnet/efcore/issues/24206) - [Allow explicit temporary values to be stored in entity instances](https://github.com/dotnet/efcore/issues/24245) - [Default options added to all ToDebugString methods](https://github.com/dotnet/efcore/issues/24461) - [Improved logging of array parameter values](https://github.com/dotnet/efcore/issues/24595) - [Preserve synchronization context in SaveChangesAsync](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#preserve-synchronization-context-in-savechangesasync) - [Translate String.Concat with multiple arguments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-stringconcat-with-multiple-arguments) - [Smoother integration with System.Linq.Async](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#smoother-integration-with-systemlinqasync) - [More flexible free-text search](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#more-flexible-free-text-search) - [UnicodeAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#unicodeattribute) - [PrecisionAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#precisionattribute) - [EntityTypeConfigurationAttribute](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#entitytypeconfigurationattribute) - [Translate ToString on SQLite](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#translate-tostring-on-sqlite) - [EF.Functions.Random](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#effunctionsrandom) - [Support for SQL Server sparse columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#support-for-sql-server-sparse-columns) - [In-memory database: validate required properties are not null](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#in-memory-database-validate-required-properties-are-not-null) - [Improved SQL Server translation for IsNullOrWhitespace](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#improved-sql-server-translation-for-isnullorwhitespace) - [Database comments are scaffolded to code comments](https://docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew#database-comments-are-scaffolded-to-code-comments) And for Microsoft.Data.Sqlite: - [Support the new BCL DateOnly and TimeOnly structs for SQLite](https://github.com/dotnet/efcore/issues/24506) - [Fall back to case-insensitive matches for `SqliteDataReader[]`](https://github.com/dotnet/efcore/issues/24011) - [Add Span overloads to SqliteBlob](https://github.com/dotnet/efcore/issues/16187) - [Pool Connections](https://github.com/dotnet/efcore/issues/13837) See GitHub for [all issues resolved in 6.0](https://github.com/dotnet/efcore/issues?q=is%3Aissue+is%3Aclosed+milestone%3A6.0.0). ## EF Core 5.0.12 The latest patch release of EF Core 5.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.12). This is a patch release of EF Core 5.0 containing only [important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.12+is%3Aclosed): - [ObjectDisposedException on retrieval of a pooled DbContext](https://github.com/dotnet/efcore/issues/26202) ## EF Core 3.1.21 EF Core 3.1.21 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.21). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.20. ## Pull requests merged since the last update ### Community contributions - @jaliyaudagedara: [Additional tests for Temporal tables](https://github.com/dotnet/efcore/pull/26682) - @ZaqueuCavalcante" [Fix some markdown language syntax highlights](https://github.com/dotnet/efcore/pull/26680) - @MaxDZ8 [Mentioning Laraue.EfCoreTriggers](https://github.com/dotnet/EntityFramework.Docs/pull/3556) - @nbarbettini [Fix typo in disconnected-entities.md](https://github.com/dotnet/EntityFramework.Docs/pull/3573) - @svick [Simplify code](https://github.com/dotnet/EntityFramework.Docs/pull/3574) - @ErikEJ [Add additional extension](https://github.com/dotnet/EntityFramework.Docs/pull/3577) Many thanks to all our contributors! ### EF Core - Query - [No skipped complex navigation tests](https://github.com/dotnet/efcore/pull/26561) - [Defer inline-ing owned navigation expansion till all joins are generated](https://github.com/dotnet/efcore/pull/26641) - [Test mechanism to automatically rewrite baselines in source code](https://github.com/dotnet/efcore/pull/26723) - [Throw error for unhandled derived query root expression](https://github.com/dotnet/efcore/pull/26579) - [Avoid parethesis around binary operations when used with AND/OR](https://github.com/dotnet/efcore/pull/26661) - [Expression bodies for query test base classes](https://github.com/dotnet/efcore/pull/26761) - [Fix double negation in SQL generation](https://github.com/dotnet/efcore/pull/26734) - Miscellaneous - [Remove quirks from main](https://github.com/dotnet/efcore/pull/26736) - [Remove Obsolete code](https://github.com/dotnet/efcore/pull/26766) - [File scoped namespaces and implicit usings for EFCore project](https://github.com/dotnet/efcore/pull/26774) - [Code cleanup for tests](https://github.com/dotnet/efcore/pull/26771) - [Use file-scoped namespaces and implicit usings in tests](https://github.com/dotnet/efcore/pull/26778) - Dependency Updates - [Bump SQLitePCLRaw.bundle_winsqlite3 from 2.0.6 to 2.0.7](https://github.com/dotnet/efcore/pull/26784) - [Bump SQLitePCLRaw.bundle_e_sqlcipher from 2.0.6 to 2.0.7](https://github.com/dotnet/efcore/pull/26787) - [Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.6 to 2.0.7](https://github.com/dotnet/efcore/pull/26785) - [Bump SQLitePCLRaw.bundle_sqlite3 from 2.0.6 to 2.0.7](https://github.com/dotnet/efcore/pull/26788) - [Bump SQLitePCLRaw.core from 2.0.6 to 2.0.7](https://github.com/dotnet/efcore/pull/26786) - Model building - [Remove obsoleted code](https://github.com/dotnet/efcore/pull/26740) - [Suppress warnings on uninitialized DbSet properties](https://github.com/dotnet/efcore/pull/26795) - Documentation - [Fix some docs issues](https://github.com/dotnet/efcore/pull/26755) - [Reference conceptual docs for examples](https://github.com/dotnet/efcore/pull/26759) - SaveChanges - [Skip flaky SaveChangesAsync_accepts_changes_with_ConfigureAwait_true_22841](https://github.com/dotnet/efcore/pull/26768) ## Builds to use - The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. - The daily builds now contain all issues merged for 6.0.x patch releases, as well as new code to be released in EF7 preview 1. - LTS: [EF Core 6.0.0](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) - Supported: [EF Core 5.0.12](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.12) - Supported: [EF Core 3.1.21](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.21) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.

ajcvickers commented 2 years ago

December 16, 2021

Expand to see status from this week...

## Highlights - The plan for EF7 is [published to our docs](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan)! - As always, [feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/26994). - This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. - In case you missed it, EF Core 6.0 GA is [available on NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/)! - Close to 800,000 NuGet downloads already! - The 6.0.1 patch release of Entity Framework Core is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.1). This release contains [17 important bug fixes](https://github.com/dotnet/efcore/releases/tag/v6.0.1) for EF Core and Microsoft.Data.Sqlite 6.0. ### Latest Community Standup: Hot Chocolate 12 and GraphQL 2021 In the last Entity Framework Community Standup of the year, the EF team is joined by [Michael Staib (@michael_staib)](https://twitter.com/michael_staib), who shows us [what's new in Hot Chocolate 12 and GraphQL 2021](https://youtu.be/3_4nt2QQSeE). Hot Chocolate 12 allows for more schema-building options with deeper integrations into EF core. Hot Chocolate has already implemented the new GraphQL October 2021 spec, and we will explore the new capabilities. We now support the complete stream and defer spec and will look into these new data fetching capabilities. The EF Core Community Standups are live-streamed about once every two weeks. This is your opportunity to interact with the EF team and others from the .NET data community. The videos are all [uploaded to YouTube](https://aka.ms/efstandups), so you can enjoy the goodness even if you can't join us live. [Comment on GitHub](https://github.com/dotnet/efcore/issues/22700) with ideas for guests, demos, or anything else you want to see. ## EF Core 7.0 EF Core 7.0 (EF7) will be the next release after EF Core 6.0. It will be released alongside .NET 7 in November 2022. The [EF Core 7.0 Plan](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan) is available publicly in our documentation. As always, [feedback is greatly appreciated](https://github.com/dotnet/efcore/issues/26994). This plan is not set-in-stone; we expect it will evolve throughout the release cycle as we learn. Each high-level area for EF Core 7.0 is linked in the table below together with its current high-level status. | EF Core 7.0 Theme | Feature | Status | |:-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| | Highly requested features | [JSON columns](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#json-columns) | Planned | | | [Bulk updates](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#bulk-updates) | Planned | | | [Lifecycle hooks](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#lifecycle-hooks) | Planned | | | [Table-per-concrete-type (TPC) mapping](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#table-per-concrete-type-TPC-mapping) | Planned | | | [Map CUD operations to stored procedures](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#map-cud-operations-to-stored-procedures) | Planned | | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#value-objects) | Planned | | | [Support value generation when using value converters](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#support-value-generation-when-using-value-converters) | Planned | | | [Value objects](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#value-objects) | Planned | | | [Raw SQL queries for unmapped types](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#raw-sql-queries-for-unmapped-types) | Planned | | | [Database scaffolding templates](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#database-scaffolding-templates) | Planned | | .NET platforms and ecosystem | [Distributed transactions](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#distributed-transactions) | Planned | | | [EF Core tooling](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#ef-core-tooling) | Planned | | | [EF Core and graphical user interfaces](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#ef-core-and-graphical-user-interfaces) | Planned | | | [SqlServer.Core (Woodstar)](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#sqlserver-core-woodstar) | Planned | | | [Azure Cosmos DB provider](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#azure-cosmos-db-provider) | Planned | | | [Migrations experience](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#migrations-experience) | Planned | | | [Trimming](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#trimming) | Planned | | | [Evolve System.Linq.Expression](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#evolve-system-linq-expression) | Planned | | | [Translate new LINQ operators](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#translate-new-linq-operators) | Planned | | | [Open telemetry for ADO.NET providers](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#open-telemetry-for-ado-net-providers) | Planned | | | [Enhancements to System.Data](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#enhancements-to-system-data) | Planned | | | [Research data access for cloud-native](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#research-data-access-for-cloud-native) | Planned | | Clear path forward from EF6 | [Issue #214: Expose model building conventions to applications](https://github.com/dotnet/efcore/issues/214) | Planned | | | [Issue #214: Expose model building conventions to applications](https://github.com/dotnet/efcore/issues/214) | Planned | | | [Issue #245: Map inserts, updates, and deletes (CUD operations) to stored procedures](https://github.com/dotnet/efcore/issues/245) | Planned | | | [Issue #620: Entity splitting support](https://github.com/dotnet/efcore/issues/620) | Planned | | | [Issue #3170: TPC inheritance mapping pattern](https://github.com/dotnet/efcore/issues/3170) | Planned | | | [Issue #3864: Support unidirectional many-to-many relationships through shadow navigations](https://github.com/dotnet/efcore/issues/3864) | Planned | | | [Issue #4038: Code templates for scaffolding entity types and DbContext from an existing database](https://github.com/dotnet/efcore/issues/4038) | Planned | | | [Issue #10753: Support raw SQL queries without defining an entity type for the result](https://github.com/dotnet/efcore/issues/10753) | Planned | | | [Issue #11003: KeyAttribute support for composite primary key](https://github.com/dotnet/efcore/issues/11003) | Planned | | | [Issue #11624: Support raw SQL Queries for basic types like Guid, DateTime and int](https://github.com/dotnet/efcore/issues/11624) | Planned | | | [Issue #15911: Implement ObjectMaterialized event](https://github.com/dotnet/efcore/issues/15911) | Planned | | | [Issue #17653: Support for GroupBy entityType](https://github.com/dotnet/efcore/issues/17653) | Planned | | | [Issue #19929: Support GroupBy when it is final operator](https://github.com/dotnet/efcore/issues/19929) | Planned | | | [Issue #19930: Support GroupJoin when it is final query operator](https://github.com/dotnet/efcore/issues/19930) | Planned | | | [issue #26626: Use EF6 as an oracle for procedural testing of EF Core queries](https://github.com/dotnet/efcore/issues/26626) | Planned | | Performance | [Performance of database inserts and updates](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#performance-of-database-inserts-and-updates) | Planned | | | [TechEmpower composite score](https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/plan#techempower-composite-score) | Planned | ## Burndown for EF Core 7.0 This is the burndown chart the team uses internally to track progress towards EF Core 7.0. EF7 Burndown - The gray bar at the top represents all the issues already fixed for EF7. - The "Closed" category includes only issues that have been fixed and then closed, not issues closed for any other reason. - The "Fixed" category includes issues that have been fixed, but where the change has not yet been merged to the "main" branch. - As always, we are aiming to be feature-complete by the beginning of September. ## EF Core 6.0.1 The latest patch release of EF Core 6.0 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.1). This is a patch release of EF Core 6.0 containing only [important bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A6.0.1+is%3Aclosed): - [DateTime with z suffix is not respected when reading entities](https://github.com/dotnet/efcore/issues/26690) - ['The object has been removed from the model.' when building model](https://github.com/dotnet/efcore/issues/26659) - [EF Core 6.0 regression when using HasDefaultSchema() with ToTable(null)](https://github.com/dotnet/efcore/issues/26651) - [Variable names must be unique within a query batch or stored procedure](https://github.com/dotnet/efcore/issues/26632) - [Stack overflow when using circular composite key dependencies](https://github.com/dotnet/efcore/issues/26629) - [SqliteConnectionFactory.cs is not thread-safe](https://github.com/dotnet/efcore/issues/26612) - [EF Core 6.0 InvalidOperationException: The object has been removed from the model](https://github.com/dotnet/efcore/issues/26611) - [Subquery.Contains throws when the type of item is value type](https://github.com/dotnet/efcore/issues/26593) - [Query with n:m relation adds non-existent column](https://github.com/dotnet/efcore/issues/26590) - [InvalidOperationException "sequence contains no matching element" in TableReferenceExpression.get_Table](https://github.com/dotnet/efcore/issues/26587) - [Update from 5.0.1 to 6.0breaks all SqliteConnection](https://github.com/dotnet/efcore/issues/26574) - [Scaffolder throws error if junction table foreign key columns have identical names](https://github.com/dotnet/efcore/issues/26496) - [EFCore 6 - NullReferenceException upon EnsureDeleted](https://github.com/dotnet/efcore/issues/26436) - [Non-nullable value comparer can't be applied on nullable type](https://github.com/dotnet/efcore/issues/26429) - [Exception in SQL server query in EF Core 6, looks related to HasQueryFilter(), worked in EF Core 5](https://github.com/dotnet/efcore/issues/26428) - [RC2 Sqlite provider no longer clears temporary files on exit](https://github.com/dotnet/efcore/issues/26422) - [The dotnet ef dbcontext scaffold command does not print all expected logs](https://github.com/dotnet/efcore/issues/26384) ## EF Core 5.0.13 EF Core 5.0.13 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.13). This is a patch release of EF Core 5.0 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 5.0.12. ## EF Core 3.1.22 EF Core 3.1.22 is [available on NuGet now](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.22). This is a patch release of EF Core 3.1 containing only updates to dependencies. There are no additional fixes in this release beyond those already shipped in EF Core 3.1.21. ## Pull requests merged since the last update ### Community contributions - @EamonHetherton: [Test and fix for Issue #26742](https://github.com/dotnet/efcore/pull/26758) - @ErikEJ: [Log warning when credentials used for reverse engineering does not have view definition rights](https://github.com/dotnet/efcore/pull/26776) - @HenkKin: [Added EntityCloner.Microsoft.EntityFrameworkCore](https://github.com/dotnet/EntityFramework.Docs/pull/3588) - @esbenbach: [Added labels and reference to the counters file](https://github.com/dotnet/EntityFramework.Docs/pull/3526) - @VahidFarahmandian: [Update whatsnew.md](https://github.com/dotnet/EntityFramework.Docs/pull/3593) - @yecril71pl: [Relationships: typos: can not, many to many](https://github.com/dotnet/EntityFramework.Docs/pull/3605) - @meesaltena: [Fixed two typos](https://github.com/dotnet/EntityFramework.Docs/pull/3619) - @jeremycook: [Clarify that the NRT feature was unsupported before EF Core 6](https://github.com/dotnet/EntityFramework.Docs/pull/3603) - @danielkraut: [Fix links from Breaking changes to What's new](https://github.com/dotnet/EntityFramework.Docs/pull/3621) Many thanks to all our contributors! ### EF Core - Miscellaneous - [Automatic refactorings based on static analysis of EFCore project](https://github.com/dotnet/efcore/pull/26806) - [Tiny cleanup](https://github.com/dotnet/efcore/pull/26904) - [Static analysis: use char instead of string literals](https://github.com/dotnet/efcore/pull/26907) - [Static analysis: remove trailing commas](https://github.com/dotnet/efcore/pull/26906) - [Static analysis: Use ??=](https://github.com/dotnet/efcore/pull/26916) - [Static analysis: conditional cleanup](https://github.com/dotnet/efcore/pull/26915) - [Static analysis: miscellaneous "code quality"](https://github.com/dotnet/efcore/pull/26930) - [Static analysis: redundancies in symbol declarations](https://github.com/dotnet/efcore/pull/26921) - [Static analysis: use null propagation](https://github.com/dotnet/efcore/pull/26918) - [Static analysis: remove redundant nullable warning suppression](https://github.com/dotnet/efcore/pull/26941) - [Static analysis: make members static](https://github.com/dotnet/efcore/pull/26947) - [Static analysis: using declarations and await using](https://github.com/dotnet/efcore/pull/26911) - [Static analysis: use range indexer and index from end](https://github.com/dotnet/efcore/pull/26910) - [Static analysis: minor small changes](https://github.com/dotnet/efcore/pull/26946) - [Static analysis: spelling](https://github.com/dotnet/efcore/pull/26925) - [Static analysis: inconsistent naming and namespaces](https://github.com/dotnet/efcore/pull/26919) - [Static analysis: deconstruction](https://github.com/dotnet/efcore/pull/26969) - [Distinguish cancellation from failure](https://github.com/dotnet/efcore/pull/26988) - [Static analysis: revert tail recursion unrolling](https://github.com/dotnet/efcore/pull/26970) - (6.0.2) [Call sync connection close instead of async](https://github.com/dotnet/efcore/pull/26943) - Model building - [Don't discover navigations to Dictionary<> and non-owned STETs](https://github.com/dotnet/efcore/pull/26769) - [Replace our nullability decoding with the new BCL API](https://github.com/dotnet/efcore/pull/26967) - (6.0.2) [Handle duplicate property infos when sorting columns](https://github.com/dotnet/efcore/pull/26958) - (6.0.2) [Restore the ability to break multiple FK cycles](https://github.com/dotnet/efcore/pull/26959) - Documentation - [Add documentation for pre-convention model configuration](https://github.com/dotnet/EntityFramework.Docs/pull/3533) - [Update platforms page for 6.0](https://github.com/dotnet/EntityFramework.Docs/pull/3608) - [Update some links](https://github.com/dotnet/EntityFramework.Docs/pull/3623) - [Plan for Entity Framework Core 7.0](https://github.com/dotnet/EntityFramework.Docs/pull/3624) - Query - [Add multiple parameters if inferred type mapping differs](https://github.com/dotnet/efcore/pull/26582) - [Add regression tests for Count after GroupBy](https://github.com/dotnet/efcore/pull/26939) - (6.0.2) [Defer inline-ing owned navigation expansion till all joins are generated](https://github.com/dotnet/efcore/pull/26617) - Change tracking - [Fixup navigations to/from join entity when new many-to-many relationship is created](https://github.com/dotnet/efcore/pull/26853) - (6.0.2) [Detach join entity when removing added relationship](https://github.com/dotnet/efcore/pull/26892) - SaveChanges - [Preserve synchronization context in ExecutionStrategy](https://github.com/dotnet/efcore/pull/26953) - (6.0.2) [Add the ability to break self-ref cycles between added and removed entities](https://github.com/dotnet/efcore/pull/26963) ## Builds to use - The [daily builds](https://github.com/dotnet/efcore/blob/main/docs/DailyBuilds.md) are the most up-to-date available. - The daily builds now contain all issues merged for 6.0.x patch releases, as well as new code to be released in EF7 preview 1. - LTS: [EF Core 6.0.1](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) - Supported: [EF Core 5.0.13](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.13) - Supported: [EF Core 3.1.22](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.22) ## Releases See [GitHub Releases](https://github.com/dotnet/efcore/releases) and [EF Core releases and planning (Roadmap)](https://docs.microsoft.com/ef/core/what-is-new/) in our documentation for full details. ## More Information See the top of this issue for links to more information. Comments are disabled on this issue to reduce noise. Please use [the related discussion issue](https://github.com/dotnet/efcore/issues/15404) for any comments on these status updates.