{"id":32234,"date":"2021-03-11T11:48:21","date_gmt":"2021-03-11T18:48:21","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=32234"},"modified":"2021-03-11T13:27:44","modified_gmt":"2021-03-11T20:27:44","slug":"announcing-entity-framework-core-6-0-preview-2","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-entity-framework-core-6-0-preview-2\/","title":{"rendered":"Announcing Entity Framework Core 6.0 Preview 2"},"content":{"rendered":"<p>Today, the Entity Framework Core team announces the second preview release of\n<a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore\/6.0.0-preview.2.21154.2\">EF Core 6.0<\/a>.\nThis release includes changes to handling the synchronization context when <code>SaveChangesAsync<\/code> is called, smoother integration with <code>System.Linq.Async<\/code>, updates to string concatenation and improvements to free text search.<\/p>\n<h2>Prerequisites<\/h2>\n<ul>\n<li>EF Core 6.0 currently targets .NET 5. This will likely be updated to .NET 6 as we near the release. EF Core 6.0 does not target any .NET Standard version; for more information see <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/the-future-of-net-standard\/\">the future of .NET Standard<\/a>.<\/li>\n<li>EF Core 6.0 will not run on .NET Framework.<\/li>\n<\/ul>\n<h2>How to get EF Core 6.0 previews<\/h2>\n<p>EF Core is distributed exclusively as a set of NuGet packages.\nFor example, to add the SQL Server provider to your project, you can use the following command using the <code>dotnet<\/code> CLI:<\/p>\n<pre><code class=\"bash\">dotnet add package Microsoft.EntityFrameworkCore.SqlServer --prerelease\r\n<\/code><\/pre>\n<p>This following table links to the preview 2 versions of the EF Core packages and describes what they are used for.<\/p>\n<table>\n<thead>\n<tr>\n<th align=\"right\"><strong>Package<\/strong><\/th>\n<th align=\"left\"><strong>Purpose<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore<\/a><\/td>\n<td align=\"left\">The main EF Core package that is independent of specific database providers<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.SqlServer\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.SqlServer<\/a><\/td>\n<td align=\"left\">Database provider for Microsoft SQL Server and SQL Azure<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite<\/a><\/td>\n<td align=\"left\">SQL Server support for spatial types<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Sqlite\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Sqlite<\/a><\/td>\n<td align=\"left\">Database provider for SQLite that includes the native binary for the database engine<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Sqlite.Core\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Sqlite.Core<\/a><\/td>\n<td align=\"left\">Database provider for SQLite <em>without<\/em> a packaged native binary<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite<\/a><\/td>\n<td align=\"left\">SQLite support for spatial types<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Cosmos\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Cosmos<\/a><\/td>\n<td align=\"left\">Database provider for Azure Cosmos DB<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.InMemory\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.InMemory<\/a><\/td>\n<td align=\"left\">The in-memory database provider<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Tools\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Tools<\/a><\/td>\n<td align=\"left\">EF Core PowerShell commands for the Visual Studio Package Manager Console; use this to integrate tools like <a href=\"https:\/\/docs.microsoft.com\/ef\/core\/managing-schemas\/scaffolding\">scaffolding<\/a> and <a href=\"https:\/\/docs.microsoft.com\/ef\/core\/managing-schemas\/migrations\/\">migrations<\/a> with Visual Studio<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Design\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Design<\/a><\/td>\n<td align=\"left\">Shared design-time components for EF Core tools<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Proxies\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Proxies<\/a><\/td>\n<td align=\"left\">Lazy-loading and change-tracking proxies<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Abstractions\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Abstractions<\/a><\/td>\n<td align=\"left\">Decoupled EF Core abstractions; use this for features like extended data annotations defined by EF Core<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Relational\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Relational<\/a><\/td>\n<td align=\"left\">Shared EF Core components for relational database providers<\/td>\n<\/tr>\n<tr>\n<td align=\"right\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.EntityFrameworkCore.Analyzers\/6.0.0-preview.2.21154.2\">Microsoft.EntityFrameworkCore.Analyzers<\/a><\/td>\n<td align=\"left\">C# analyzers for EF Core<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>We also published the 6.0 preview 2 release of the <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Data.Sqlite.Core\/6.0.0-preview.2.21154.2\">Microsoft.Data.Sqlite.Core<\/a> provider for <a href=\"https:\/\/docs.microsoft.com\/dotnet\/framework\/data\/adonet\/ado-net-overview\">ADO.NET<\/a>.<\/p>\n<h2>Installing the EF Core Command Line Interface (CLI)<\/h2>\n<p>As with EF Core 3.0 and 3.1, the EF Core CLI is no longer included in the .NET Core SDK. Before you can execute EF Core migration or scaffolding commands,\nyou&#8217;ll have to install this package as either a global or local tool.<\/p>\n<p>To install the preview tool globally, first uninstall any existing version with:<\/p>\n<pre><code class=\"bash\">dotnet tool uninstall --global dotnet-ef\r\n<\/code><\/pre>\n<p>Then install with:<\/p>\n<pre><code class=\"bash\">dotnet tool install --global dotnet-ef --version 6.0.0-preview.2.21154.2\r\n<\/code><\/pre>\n<p>It&#8217;s possible to use this new version of the EF Core CLI with projects that use older versions of the EF Core runtime.<\/p>\n<hr \/>\n<h2>What&#8217;s New in EF Core 6 Preview 2<\/h2>\n<p>We maintain documentation covering <a href=\"https:\/\/docs.microsoft.com\/ef\/core\/what-is-new\/ef-core-6.0\/whatsnew\">new features introduced into each preview<\/a>.<\/p>\n<p>Some of the highlights from preview 2 are called out below. This preview also includes several bug fixes.<\/p>\n<blockquote><p><strong>TIP<\/strong>\nYou can run and debug into all the preview 2 samples shown below by <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/tree\/main\/samples\/core\/Miscellaneous\/NewInEFCore6\">downloading the sample code from GitHub<\/a>.<\/p>\n<p><strong>NOTE<\/strong>\nThe following fix did <em>not<\/em> make it into Preview 2: <a href=\"https:\/\/github.com\/dotnet\/efcore\/issues\/24251\">#24251<\/a>.<\/p><\/blockquote>\n<h3>Preserve synchronization context in SaveChangesAsync<\/h3>\n<p>GitHub Issue: <a href=\"https:\/\/github.com\/dotnet\/efcore\/issues\/23971\">#23971<\/a>.<\/p>\n<p>We <a href=\"https:\/\/github.com\/dotnet\/efcore\/issues\/10164\">changed the EF Core code in the 5.0 release<\/a> to set <code>System.Threading.Tasks.Task.ConfigureAwait<\/code> to <code>false<\/code> in all places where we <code>await<\/code> async code. This is generally a better choice for EF Core usage. However, <code>Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync<\/code> is a special case because EF Core will set generated values into tracked entities after the async database operation is complete. These changes may then trigger notifications which, for example, may have to run on the U.I. thread. Therefore, we are reverting this change in EF Core 6.0 for the <code>Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync<\/code> method only.<\/p>\n<h3>Translate String.Concat with multiple arguments<\/h3>\n<p>GitHub Issue: <a href=\"https:\/\/github.com\/dotnet\/efcore\/issues\/23859\">#23859<\/a>. This feature was contributed by <a href=\"https:\/\/github.com\/wmeints\">@wmeints<\/a>.<\/p>\n<p>Starting with EF Core 6.0, calls to <code>System.String.Concat<\/code> with multiple arguments are now translated to SQL. For example, the following query:<\/p>\n<pre><code class=\"csharp\">var shards = context.Shards\r\n  .Where(e =&gt; string.Concat(e.Token1, e.Token2, e.Token3) != e.TokensProcessed).ToList();\r\n<\/code><\/pre>\n<p>Will be translated to the following SQL when using SQL Server:<\/p>\n<pre><code class=\"sql\">SELECT [s].[Id], [s].[Token1], [s].[Token2], [s].[Token3], [s].[TokensProcessed]\r\nFROM [Shards] AS [s]\r\nWHERE ((COALESCE([s].[Token1], N'') + (COALESCE([s].[Token2], N'') + COALESCE([s].[Token3], N''))) &lt;&gt; [s].[TokensProcessed]) OR [s].[TokensProcessed] IS NULL\r\n<\/code><\/pre>\n<h3>Smoother integration with System.Linq.Async<\/h3>\n<p>GitHub Issue: <a href=\"https:\/\/github.com\/dotnet\/efcore\/issues\/24041\">#24041<\/a>.<\/p>\n<p>The <a href=\"https:\/\/www.nuget.org\/packages\/System.Linq.Async\/\">System.Linq.Async<\/a> package adds client-side async LINQ processing. Using this package with previous versions of EF Core was cumbersome due to a namespace clash for the async LINQ methods. In EF Core 6.0 we have taken advantage of C# pattern matching for <code>System.Collections.Generic.IAsyncEnumerable<\/code> such that the exposed EF Core <code>Microsoft.EntityFrameworkCore.DbSet<\/code> does not need to implement the interface directly.<\/p>\n<p>Note that most applications do not need to use System.Linq.Async since EF Core queries are usually fully translated on the server.<\/p>\n<h3>More flexible free-text search<\/h3>\n<p>GitHub Issue: <a href=\"https:\/\/github.com\/dotnet\/efcore\/issues\/23921\">#23921<\/a>.<\/p>\n<p>In EF Core 6.0, we have relaxed the parameter requirements for <code>Microsoft.EntityFrameworkCore.SqlServerDbFunctionsExtensions.FreeText(Microsoft.EntityFrameworkCore.DbFunctions,System.String,System.String)<\/code> and <code>Microsoft.EntityFrameworkCore.SqlServerDbFunctionsExtensions.Contains<\/code>. This allows these functions to be used with binary columns, or with columns mapped using a value converter. For example, consider an entity type with a <code>Name<\/code> property defined as a value object:<\/p>\n<pre><code class=\"csharp\">public class Customer\r\n{\r\n  public int Id { get; set; }\r\n\r\n  public Name Name{ get; set; }\r\n}\r\n\r\npublic class Name\r\n{\r\n  public string First { get; set; }\r\n  public string MiddleInitial { get; set; }\r\n  public string Last { get; set; }\r\n}\r\n<\/code><\/pre>\n<p>This is mapped to JSON in the database:<\/p>\n<pre><code class=\"csharp\">modelBuilder.Entity&lt;Customer&gt;()\r\n  .Property(e =&gt; e.Name)\r\n  .HasConversion(\r\n    v =&gt; JsonSerializer.Serialize(v, null),\r\n    v =&gt; JsonSerializer.Deserialize&lt;Name&gt;(v, null));\r\n<\/code><\/pre>\n<p>A query can now be executed using <code>Contains<\/code> or <code>FreeText<\/code> even though the type of the property is <code>Name<\/code> not <code>string<\/code>. For example:<\/p>\n<pre><code class=\"csharp\">var result = context.Customers.Where(e =&gt; EF.Functions.Contains(e.Name, \"Martin\")).ToList();\r\n<\/code><\/pre>\n<p>This generates the following SQL, when using SQL Server:<\/p>\n<pre><code class=\"sql\">SELECT [c].[Id], [c].[Name]\r\nFROM [Customers] AS [c]\r\nWHERE CONTAINS([c].[Name], N'Martin')\r\n<\/code><\/pre>\n<h2>Daily builds<\/h2>\n<p>EF Core previews are aligned with .NET 6 previews. These previews tend to lag behind the latest work on EF Core. Consider using the <a href=\"https:\/\/github.com\/aspnet\/AspNetCore\/blob\/master\/docs\/DailyBuilds.md\">daily builds<\/a> instead to get the most up-to-date EF Core features and bug fixes.<\/p>\n<p>As with the previews, the daily builds require .NET 5.<\/p>\n<h2>The EF Core Community Standup<\/h2>\n<p>The EF Core team is now live streaming every other Wednesday at 10am Pacific Time, 1pm Eastern Time, or 17:00 UTC. Join the stream to ask questions about the EF Core topic of your choice, including the latest preview release.<\/p>\n<ul>\n<li><a href=\"https:\/\/aka.ms\/efstandups\">Watch our YouTube playlist<\/a> of previous shows<\/li>\n<li><a href=\"https:\/\/live.dot.net\/\">Visit the .NET Community Standup<\/a> page to preview upcoming shows<\/li>\n<li><a href=\"https:\/\/github.com\/dotnet\/efcore\/issues\/22700\">Suggest a guest or project, including your own<\/a> by posting to the linked issue<\/li>\n<\/ul>\n<h2>Documentation and Feedback<\/h2>\n<p>The starting point for all EF Core documentation is <a href=\"https:\/\/docs.microsoft.com\/ef\/\">docs.microsoft.com\/ef\/<\/a>.<\/p>\n<p>Please file issues found and any other feedback on the <a href=\"https:\/\/github.com\/dotnet\/efcore\">dotnet\/efcore GitHub repo<\/a>.<\/p>\n<h2>Helpful Short Links<\/h2>\n<p>The following short links are provided for easy reference and access.<\/p>\n<p>EF Core Community Standup Playlist:\n<a href=\"https:\/\/aka.ms\/efstandups\">https:\/\/aka.ms\/efstandups<\/a><\/p>\n<p>Main documentation:\n<a href=\"https:\/\/aka.ms\/efdocs\">https:\/\/aka.ms\/efdocs<\/a><\/p>\n<p>Issues and feature requests for EF Core:\n<a href=\"https:\/\/aka.ms\/efcorefeedback\">https:\/\/aka.ms\/efcorefeedback<\/a><\/p>\n<p>Entity Framework Roadmap:\n<a href=\"https:\/\/aka.ms\/efroadmap\">https:\/\/aka.ms\/efroadmap<\/a><\/p>\n<h2>Thank you from the team<\/h2>\n<p>A big thank you from the EF team to everyone who has used EF over the years!<\/p>\n<table>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/github.com\/ajcvickers\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/03\/efteam_ajcvickers.jpeg\" alt=\"ajcvickers\" width=\"200px\" \/>\nArthur Vickers<\/a><\/td>\n<td><a href=\"https:\/\/github.com\/AndriySvyryd\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/03\/efteam_AndriySvyryd.jpeg\" alt=\"AndriySvyryd\" width=\"200px\" \/>\nAndriy Svyryd<\/a><\/td>\n<td><a href=\"https:\/\/github.com\/bricelam\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/03\/efteam_bricelam.jpeg\" alt=\"\" width=\"200px\" \/>\nBrice Lambson<\/a><\/td>\n<td><a href=\"https:\/\/github.com\/JeremyLikness\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/03\/efteam_JeremyLikness.jpeg\" alt=\"JeremyLikness\" width=\"200px\" \/>\nJeremy Likness<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/maumar\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/03\/efteam_maumar.jpeg\" alt=\"maumar\" width=\"200px\" \/>\nMaurycy Markowski<\/a><\/td>\n<td><a href=\"https:\/\/github.com\/roji\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/03\/efteam_roji-1-300x300.png\" alt=\"roji\" width=\"200px\" \/>\nShay Rojansky<\/a><\/td>\n<td><a href=\"https:\/\/github.com\/smitpatel\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/03\/efteam_smitpatel.png\" alt=\"smitpatel\" width=\"200px\" \/>\nSmit Patel<\/a><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Thank you to our contributors!<\/h2>\n<p>We are grateful to our amazing community of contributors. Our success is founded upon the shoulders of your efforts and feedback. If you are interested in contributing but not sure how or would like help, please reach out to us! We want to help you succeed. We would like to publicly acknowledge and thank these contributors for investing in the success of EF Core 6.0.<\/p>\n<table>\n<thead>\n<tr>\n<th align=\"center\"><\/th>\n<th align=\"center\"><\/th>\n<th align=\"center\"><\/th>\n<th align=\"center\"><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/Ali-YousefiTelori\">Ali-YousefiTelori<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/AndrewKitu\">AndrewKitu<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/ardalis\">ardalis<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/CaringDev\">CaringDev<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23946\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23946\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3070\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3091\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23585\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23585\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/carlreinke\">carlreinke<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/cgrimes01\">cgrimes01<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/cincuranet\">cincuranet<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/dan-giddins\">dan-giddins<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23694\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23694\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3038\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2714\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2910\">#1<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/dennisseders\">dennisseders<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/DickBaker\">DickBaker<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/ErikEJ\">ErikEJ<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/fagnercarvalho\">fagnercarvalho<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2839\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2845\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2848\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2987\">#4<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2997\">#5<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3007\">#6<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2990\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22900\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22900\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22937\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22937\">#4<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22938\">#5<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22938\">#6<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2897\">#7<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2984\">#8<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23094\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23094\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/filipnavara\">filipnavara<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/garyng\">garyng<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/Geoff1900\">Geoff1900<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/gfoidl\">gfoidl<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23591\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23591\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3045\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3046\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3047\">#3<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3025\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22923\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22923\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/Giorgi\">Giorgi<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/GitHubPang\">GitHubPang<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/gurustron\">gurustron<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/hez2010\">hez2010<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24147\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24147\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3106\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3107\">#4<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3097\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3010\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24211\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24211\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/HSchwichtenberg\">HSchwichtenberg<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/jantlee\">jantlee<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/joakimriedel\">joakimriedel<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/joaopgrassi\">joaopgrassi<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2894\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2786\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23437\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23437\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22849\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22849\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/josemiltonsampaio\">josemiltonsampaio<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/KaloyanIT\">KaloyanIT<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/khalidabuhakmeh\">khalidabuhakmeh<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/khellang\">khellang<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2927\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23563\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23563\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23666\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23666\">#4<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2858\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2962\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2982\">#1<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/koenbeuk\">koenbeuk<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/kotpal\">kotpal<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/leonardoporro\">leonardoporro<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/Marusyk\">Marusyk<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2921\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2763\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2883\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23039\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23039\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24016\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24016\">#4<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24203\">#5<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24203\">#6<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24204\">#7<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24204\">#8<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/MaxG117\">MaxG117<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/mefateah\">mefateah<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/meggima\">meggima<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/mrlife\">mrlife<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2898\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3065\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23605\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23605\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3094\">#1<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/msawczyn\">msawczyn<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/MSDN-WhiteKnight\">MSDN-WhiteKnight<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/natashanikolic\">natashanikolic<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/nmichels\">nmichels<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2917\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2887\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2920\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23091\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23091\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/nschonni\">nschonni<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/Oxyrus\">Oxyrus<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/pkellner\">pkellner<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/ralmsdeveloper\">ralmsdeveloper<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2775\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2776\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2779\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2780\">#4<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/3110\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2954\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/19473\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/19473\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/RaymondHuy\">RaymondHuy<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/Shirasho\">Shirasho<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/SimonCropp\">SimonCropp<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/the-wazz\">the-wazz<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22514\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/22514\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23145\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23145\">#4<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23232\">#5<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23232\">#6<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23424\">#7<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23424\">#8<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2988\">#1<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2957\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/EntityFramework.Docs\/pull\/2959\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23551\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23551\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/tkp1n\">tkp1n<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/Tomkaa\">Tomkaa<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/umitkavala\">umitkavala<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/vincent1405\">vincent1405<\/a><\/strong><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23014\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23014\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23933\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23933\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23322\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23322\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23562\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23562\">#4<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24020\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24020\">#2<\/a><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/wmeints\">wmeints<\/a><\/strong><\/td>\n<td align=\"center\"><strong><a href=\"https:\/\/github.com\/yesmey\">yesmey<\/a><\/strong><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23873\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/23873\">#2<\/a><\/td>\n<td align=\"center\"><a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24111\">#1<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24111\">#2<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24155\">#3<\/a>, <a href=\"https:\/\/github.com\/dotnet\/efcore\/pull\/24155\">#4<\/a><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Announcing the release of EF Core 6.0 Preview 2, the second preview of the new Entity Framework Core.<\/p>\n","protected":false},"author":368,"featured_media":31574,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685,196,197,859],"tags":[4,9,70],"class_list":["post-32234","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-dotnet-core","category-aspnet","category-entity-framework","tag-net","tag-net-core","tag-entity-framework"],"acf":[],"blog_post_summary":"<p>Announcing the release of EF Core 6.0 Preview 2, the second preview of the new Entity Framework Core.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/32234","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\/368"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=32234"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/32234\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/31574"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=32234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=32234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=32234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}