Skip to content

EF Core 2.2 Roadmap #308

Open
Open
@divega

Description

@divega

EF Core 2.2 is a small release

Unlike EF Core 2.1, the 2.2 release will include a small number of new features. We are concentrating most of our efforts to add new functionality on the 3.0 release. Still, you can expect 2.2 to include lots of bugs fixes, community contributions and small improvements.

You can access the list of issues currently assigned to the 2.2 milestone using this query on our issue tracking system.

Schedule

The schedule of EF Core 2.2 will align with the schedule of .NET Core and ASP.NET Core 2.2. See the ASP.NET Core 2.2 Roadmap announcement.

Our current plan is to have three previews before we ship RTM near the end of 2018:

  • August – Preview 1
  • September - Preview 2
  • October - Preview 3
  • Before end-of-year – RTM

As usual, this post reflects our current plan, but things may change as we make progress.

New features

Reverse engineering of database views into query types (This feature was postponed. See update at #308 (comment))

In EF Core 2.1 we added query types, which allow mapping .NET objects to views and tables without keys. In 2.2, we plan to leverage this new capability to automatically map existing database views to query types.

You can track the progress of this at dotnet/efcore#1679.

Support for collections of owned entities

In EF Core 2.0 we added the concept of owned entity types, which allows modeling ownership relationship that are common between entities that are part of the same document in document-oriented databases or the same aggregate if you use Domain-Driven Design concepts in your model.

Until now, we only support reference navigation properties to owned entities. In EF Core 2.2, we plan to enhance this functionality to map collection navigation properties to owned entities.

You can track the progress of this at dotnet/efcore#8172.

Other work

There are some additional work items that are not strictly EF Core 2.2 features, but we still track as part of the 2.2 milestone because we are doing the work in the same timeframe:

Cosmos DB provider

A lot of our efforts are going into productizing an EF Core provider for the SQL API in Cosmos DB.
We have already created a prototype, which we have shown in demos such as in this this EF Core 2.1 talk we did at the Microsoft Build conference.

Due to competing priorities, releasing a preview of this provider has taken more than what we originally planned, but we are working on it now, and the current plan is to release a stable version by the end of this calendar year.

You can track our progress on this issue: dotnet/efcore#12086.

Preview of spatial support for SQL Server

We are also focusing on adding spatial support as an extension to the SQL Server provider for EF Core.
Note that the PostgreSQL provider (Npgsql) already added support in EF Core 2.1. Beside implementing this functionality for SQL Server, we are working closely with the developers of Npgsql to try to achieve a consistent and hopefully improved experience across providers.

Note that we aren't committing to having a final version of the spatial support for the end of the current calendar year. But we are actively working on this now, and as we make progress, we should be able to provide a more precise estimate.

You can track our progress on this issue: dotnet/efcore#1100.

Improve test coverage for LINQ and reduce query regressions in future releases

In the last few releases, we have seen that when we commit improvements to our LINQ implementation, we often break queries that were previously working. The main challenge is that LINQ defines a huge space of possible queries to test, and it is very complex to measure what level of test coverage we have, even for a specific query operator. In the 2.2 timeframe, we will be investing on improving test coverage for this huge space. We also plan to experiment with new approaches to add appropriate coverage, and to reduce the likelihood of introducing regressions in future releases.

You can track our progress on this at dotnet/efcore#12046.

For discussion on this roadmap, please use dotnet/efcore#12465.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions