Table of Contents

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 Converts registrations when a model is given) — wired as a CosmosLinqSerializer so LINQ member names resolve through the same contract — and bulk execution enabled so a buffered Commit flushes 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's Converts registrations 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 Entity call 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.