Skip to content

Commit

Permalink
Consolidate primitive collections across relational and Cosmos (#33456)
Browse files Browse the repository at this point in the history
* Consolidate primitive collections across relational and Cosmos

This change starts using the EF8 primitive collection infrastructure for primitive collections in Cosmos. This involves adding support for nested collections and read-only collections.

The main challenge here is supporting all the different collection types when, for example, `List<List<string>>` cannot be cast to `IEnumerable<IEnumerable<string>>`. To support this, we use exact collection types in snapshots, and we use non-generic methods in the nested comparers and serializers.

General dictionary mapping still not supported.
No extensive query testing done yet.

Model building and change tracking for #30713
Fixes #25364
Fixes #25343
Part of #4179
Fixes #31722

* Remove dead files

* Updates based on review feedback
  • Loading branch information
ajcvickers authored Apr 3, 2024
1 parent 48ac5fa commit bd331aa
Show file tree
Hide file tree
Showing 58 changed files with 10,262 additions and 5,078 deletions.
92 changes: 0 additions & 92 deletions src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs

This file was deleted.

105 changes: 0 additions & 105 deletions src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs

This file was deleted.

This file was deleted.

Loading

0 comments on commit bd331aa

Please sign in to comment.