Namespace Savvyio.Data
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).