{"id":17515,"date":"2018-05-07T11:00:05","date_gmt":"2018-05-07T18:00:05","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/?p=17515"},"modified":"2019-04-18T17:49:52","modified_gmt":"2019-04-19T00:49:52","slug":"announcing-entity-framework-core-2-1-rc-1","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-entity-framework-core-2-1-rc-1\/","title":{"rendered":"Announcing Entity Framework Core 2.1 RC 1"},"content":{"rendered":"<p>Today, we are excited to announce that the first release candidate of EF Core 2.1 is available, alongside <a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2018\/05\/07\/announcing-net-core-2-1-rc-1\/\">.NET Core 2.1 RC 1<\/a> and <a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/asp-net-core-2-1-0-rc1-now-available\/\">ASP.NET Core 2.1 RC 1<\/a>, for broad testing, and now also for production use!<\/p>\n<h2 id=\"go-live-support\">Go live support<\/h2>\n<p>EF Core 2.1 RC1 is a &#8220;go live&#8221; release, which means once you test that your application works correctly with RC1, you can use it in production and obtain support from Microsoft, but you should still update to the final stable release once it&#8217;s available.<\/p>\n<p>Go live support for EF Core RC1 extends to the base functionality in EF Core and to the providers that are developed as part of the Entity Framework Core project, like the SQL Server, SQLite, and in-memory database providers. If you are using any other providers, we recommend you verify what level of support you can get from their corresponding developers.<\/p>\n<h2 id=\"changes-since-preview-2\">Changes since Preview 2<\/h2>\n<p>For the full details on what has changed since EF Core 2.0, look at the <a href=\"https:\/\/docs.microsoft.com\/ef\/core\/what-is-new\/ef-core-2.1\">What&#8217;s New section<\/a> of our documentation. The main new features are:<\/p>\n<ul>\n<li><em>GroupBy<\/em> translation<\/li>\n<li>Lazy loading<\/li>\n<li>Parameters in entity constructors<\/li>\n<li>Value conversion<\/li>\n<li>Query types<\/li>\n<li>Data seeding<\/li>\n<li><em>System.Transactions<\/em> support<\/li>\n<\/ul>\n<p>We have been stabilizing the product since Preview 2, therefore there are no new features in RC1. In fact, all changes in RC1 are either bug fixes or very small functional or performance improvements on existing features.<\/p>\n<p>You can get an up-to-date list of bug fixes and small enhancements using <a href=\"https:\/\/github.com\/aspnet\/EntityFrameworkCore\/issues?q=is:issue+milestone:2.1.0-rc1+label:closed-fixed\">this issue tracker query<\/a>. Some of the small RC1 enhancements worth mentioning are:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/aspnet\/EntityFrameworkCore\/issues\/9295\">#9295<\/a> List.Exists is now translated to SQL. Thank you <a href=\"https:\/\/github.com\/ilmax\">Massimiliano Donini<\/a> for your contribution!<\/li>\n<li><a href=\"https:\/\/github.com\/aspnet\/EntityFrameworkCore\/issues\/9347\">#9347<\/a> Several performance improvements in model building<\/li>\n<li><a href=\"https:\/\/github.com\/aspnet\/EntityFrameworkCore\/issues\/11570\">#11570<\/a> DbContext scaffolding now generates a constructor that allows injection of <em>DbContextOptions&lt;TContext&gt;<\/em><\/li>\n<\/ul>\n<h2 id=\"obtaining-the-bits\">Obtaining the bits<\/h2>\n<p>The new bits are available <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore\/2.1.0-rc1-final\">in NuGet as individual packages<\/a>, as part of the <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.AspNetCore.App\/2.1.0-rc1-final\">ASP.NET Core 2.1 RC1 metapackage<\/a> and in the <a href=\"https:\/\/www.microsoft.com\/net\/download\/dotnet-core\/sdk-2.1.300-rc1\">.NET Core 2.1 RC1 SDK<\/a>, also released today.<\/p>\n<p>The recommended way to obtain the new packages for ASP.NET Core applications is through the installation of the new SDK, rather than only updating the packages. See the details in the <a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/asp-net-core-2-1-0-rc1-now-available\/#get-started\">get started section of the ASP.NET Core announcement<\/a>. <\/p>\n<p>For other applications, either the SDK can be installed or the packages can be updated using the <em>dotnet<\/em> command line tool or NuGet. <\/p>\n<p>EF Core 2.1 RC1 and the corresponding versions of the SQL Server and in-memory database providers are included in the ASP.NET Core metapackage. Therefore, if your application is an ASP.NET Core application and you are using one of these providers, you don&#8217;t need additional upgrade steps.<\/p>\n<p>If you\u2019re using one of the database providers developed as part of the Entity Framework Core project (for example, SQL Server, SQLite or In-Memory), you can install EF Core 2.1 RC1 bits by simply installing the latest version of a provider. For example, using <em>dotnet<\/em> on the command-line:<\/p>\n<pre><code class=\" console language- console\">$ dotnet add package Microsoft.EntityFrameworkCore.Sqlite -V 2.1.0-rc1-final<\/code><\/pre>\n<p>If you\u2019re using another EF Core 2.0-compatible relational database provider, it&#8217;s recommended that in order to obtain all the newest EF Core bits, you add a direct reference to the base relational provider in your application, for example:<\/p>\n<pre><code class=\" console language- console\">$ dotnet add package Microsoft.EntityFrameworkCore.Relational -V 2.1.0-rc1-final<\/code><\/pre>\n<p><strong>When updating packages, make sure that all EF Core packages are updated to the RC1 version. Mixing EF Core or infrastructure packages from older .NET Core versions (including previous 2.1 preview bits) will likely cause errors.<\/strong><\/p>\n<h2 id=\"provider-compatibility\">Provider compatibility<\/h2>\n<p>As we mentioned in previous announcements, some of the new features in 2.1, such as value conversions, require an updated database provider. However, it was our original goal that existing providers developed for EF Core 2.0 would be compatible with EF Core 2.1 as long as you didn&#8217;t try to use the new features.<\/p>\n<p>In practice, testing has shown that some of the EF Core 2.0 providers are not going to be compatible with 2.1. Also, there have been changes in the code necessary to support the new features since Preview 1 and Preview 2. Therefore, we recommend that you use a provider that has been updated for EF Core 2.1 RC1.<\/p>\n<p>We have news that some of these updated providers will be available within days of this announcement. Others may take longer.<\/p>\n<p>We have been working and will continue to work with provider writers to make sure we identify and address any issues with the upgrade. In the particular case of <a href=\"https:\/\/github.com\/PomeloFoundation\/Pomelo.EntityFrameworkCore.MySql\">Pomelo.EntityFrameworkCore.MySql<\/a>, we are actively working with the developers to help them get it ready for 2.1.<\/p>\n<p>If you experience any new incompatibility, please report it by <a href=\"https:\/\/github.com\/aspnet\/EntityFrameworkCore\/issues\/new\">creating an issue in our GitHub repository<\/a>.<\/p>\n<h2 id=\"whats-next\">What&#8217;s next<\/h2>\n<p>We expect to ship the final version of EF Core 2.1 in the first half of 2018, as planned. We&#8217;re now getting very close to the finish line!<\/p>\n<p>In the meantime, planning for the next versions of EF Core after 2.1 is ongoing. Stay tuned for upcoming announcements in this blog.<\/p>\n<h2 id=\"thank-you\">Thank you!<\/h2>\n<p>As always, the entire Entity Framework team wants to express our deep gratitude to everyone who has helped in making this release better by trying early builds, providing feedback, reporting bugs, and contributing code.<\/p>\n<p>Please try EF Core 2.1 RC1, and keep posting any new feedback to <a href=\"https:\/\/github.com\/aspnet\/EntityFrameworkCore\/issues\/new\">our issue tracker<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, we are excited to announce that the first release candidate of EF Core 2.1 is available, alongside .NET Core 2.1 RC 1 and ASP.NET Core 2.1 RC 1, for broad testing, and now also for production use! Go live support EF Core 2.1 RC1 is a &#8220;go live&#8221; release, which means once you test [&hellip;]<\/p>\n","protected":false},"author":912,"featured_media":21785,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[859],"tags":[4,9,32,70,71],"class_list":["post-17515","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-entity-framework","tag-net","tag-net-core","tag-asp-net-core","tag-entity-framework","tag-entity-framework-core"],"acf":[],"blog_post_summary":"<p>Today, we are excited to announce that the first release candidate of EF Core 2.1 is available, alongside .NET Core 2.1 RC 1 and ASP.NET Core 2.1 RC 1, for broad testing, and now also for production use! Go live support EF Core 2.1 RC1 is a &#8220;go live&#8221; release, which means once you test [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/17515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/912"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=17515"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/17515\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/21785"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=17515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=17515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=17515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}