[9.0] Improvements to the Azure Cosmos DB provider #33033
Labels
area-cosmos
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
composite-issue
A grouping of multiple related issues into one issue
type-enhancement
Milestone
This is a grouping of related issues. Feel free to vote (👍) for this issue to indicate that this is an area that you think we should spend time on, but consider also voting for individual issues for things you consider especially important.
EF9
The following work is a roughly prioritized list of work tentatively planned for the EF9 release. More details of the full scope of Cosmos work over several releases can be found in All work section below.
The general approach for Cosmos in EF9 is:
Completed
General improvements
WithPartionKey
should be model values, not store values #33535Id
to JSONid
unless explicitly configured otherwise #34179Query fundamentals
Function translations
ReadItem and partition key management
Infra/internal work
Planned
No more planned work for 9 at this time.
Punted
Stretch
T-shirt sizes are:
All work
These are areas either fundamental to the underlying architecture and implementation, and/or fundamental user experiences that users expect, on one side, from any EF Core provider, and on the other side by any mechanism used to access Cosmos. For example,
SelectMany
is a fundamental query pattern that should work on any EF Core provider. Similarly, partition keys are fundamental to working with Cosmos, and hence EF must expose/provide this functionality.Query fundamentals
At the time of writing (beginning of EF9 work), the Cosmos query pipeline code has fallen behind the relational code by a considerable about. The architecture now employed by relational providers must be ported to Cosmos before any other major changes are made to the query pipeline.
Following this, some fundamental improvements are needed to the query pipeline. Many of these areas have model building, change tracking, update pipeline aspects as well, but they involve a lot of query work.
--- EF9 cut line ---
Non-query fundamentals
Many of these areas have query aspects, but much of the work can be done independently of query.
--- EF9 cut line ---
Higher-level experiences
--- EF9 cut line ---
Other work
Query enhancements
--- EF9 cut line ---
Query optimizations
--- EF9 cut line ---
Bugs
--- EF9 cut line ---
Nice-to-have
--- EF9 cut line ---
Testing and internal quality
--- EF9 cut line ---
Currently blocked/infeasible
--- EF9 cut line ---
The text was updated successfully, but these errors were encountered: