Table of Contents

Namespace Savvyio.Data

Assembly: Savvyio.Core.dll

Use the Savvyio.Data namespace to define infrastructure-agnostic data access contracts. The interfaces here describe what your repositories and data stores must be able to do — read, write, delete, search, and persist — without tying your domain model to a specific database or ORM.

Start with IPersistentDataStore<T, TOptions> for a full-lifecycle data store, or compose narrower contracts: IReadableDataStore<T>, IWritableDataStore<T>, IDeletableDataStore<T>, and ISearchableDataStore<T>. Implementations for Entity Framework Core and Dapper are available in their respective extension packages.

Availability: .NET 10 and .NET 9

Interfaces

IDataStore<T>

A marker interface that specifies an abstraction of data persistence based on the Data Access Object pattern aka DAO.

IDeletableDataStore<T>

Defines a generic way of abstracting deletable data access objects (cruD).

IPersistentDataStore<T, TOptions>

Defines a generic way of abstracting persistent data access objects (CRUD).

IReadableDataStore<T>

Defines a generic way of abstracting readable data access objects (cRud).

ISearchableDataStore<T, TOptions>

Defines a generic way of abstracting searchable data access objects (cRud).

IWritableDataStore<T>

Defines a generic way of abstracting writable data access objects (CrUd).