Namespace eQuantic.Core.Data.CosmosDb
Classes
- CosmosClientFactory
Builds CosmosClients configured the way this provider expects: the CosmosEntitySerializer (System.Text.Json web defaults + the modeling annotations, and the model's
Convertsregistrations when a model is given) — wired as a CosmosLinqSerializer so LINQ member names resolve through the same contract — and bulk execution enabled so a bufferedCommitflushes as one batched set of point writes.
- CosmosEntityBuilder<TEntity>
Fluent configuration for one entity's Cosmos mapping.
- CosmosEntityConfiguration
The Cosmos mapping for a single entity: which container it lives in, its partition key (path plus a selector to read the value from an instance for point writes), and container options such as TTL. Unlike MongoDB, Cosmos needs the partition key on every point read/write, so it must be declared up front.
- CosmosEntityConfiguration<TEntity>
The typed Cosmos mapping for
TEntity.
- CosmosEntitySerializer
The provider's document serializer: System.Text.Json with web (camelCase) defaults, plus the store-neutral modeling vocabulary —
[StoredAs]renames the element,[Unmapped]keeps the member out of the document, and the model'sConvertsregistrations translate values both ways. It extends CosmosLinqSerializer so the SDK's LINQ translation asks this serializer for member names: a renamed member filters, sorts and projects against its stored name — the query can never desynchronize from the document.
- CosmosModel
The registered Cosmos mappings, keyed by entity type.
- CosmosModelBuilder
Fluent builder for the CosmosModel — one
Entitycall per mapped type.
- CosmosQueryableExtensions
Applies a QueryOptions<TEntity> to a Cosmos IQueryable<T> obtained from
Container.GetItemLinqQueryable<TEntity>(), which the SDK translates to a SQL query.