Namespace eQuantic.Core.Data.Repository.Read
Interfaces
- IAggregateReadRepository<TEntity>
A read repository that computes
MIN/MAX/AVGon the store (with a client-side fallback for computed selectors), completing the aggregate surface next to the contract'sCount/Sum. Providers opt in.
- IAsyncQueryableReadRepository<TEntity, TKey>
An asynchronous read repository backed by an IQueryable<T> data source.
- IAsyncReadRepository<TEntity, TKey>
The asynchronous read repository. Query shaping (filtering, sorting, includes, tracking) is expressed through a single QueryOptions<TEntity> argument, and paged reads return a PagedResult<T>.
- IContinuationReadRepository<TEntity>
A read repository that pages through its store's native continuation mechanism (Cassandra
PagingState, Cosmos continuation tokens) instead of count-and-skip: every page costs the same, however deep, and the token is an opaque string a caller can hold across requests. Providers opt in.
- IExplainableRepository<TEntity>
A read repository that can explain — without executing — what a shaped query will actually do: the native statement, what is pushed down versus evaluated client-side, and the cost flags. Providers opt in; use it in code review and diagnostics to make a query's cost visible before it ships.
- IGroupedReadRepository<TEntity>
A read repository that groups on the store: the key and the aggregate projection render to a native
GROUP BY, and only the grouped rows travel. The projection is typed LINQ restricted to the shapes a store can aggregate server-side —g.Key,g.Count(),g.Sum/Min/Max/Average(x => x.Member); anything else is rejected with the supported shapes. Providers opt in.
- IQueryableReadRepository<TEntity, TKey>
A synchronous read repository backed by an IQueryable<T> data source.
- IReadRepository<TEntity, TKey>
The synchronous read repository. It mirrors IAsyncReadRepository<TEntity, TKey> and shapes queries through a single QueryOptions<TEntity> argument.
- IStreamingReadRepository<TEntity>
A read repository that streams results through the store's native cursor/paging path as an IAsyncEnumerable<T> — rows arrive as the store produces them, nothing is buffered beyond a page, and enumeration can stop (or be cancelled) at any point without fetching the rest. The natural shape for exports, ETL and any read too large to materialize. Providers opt in.