Skip to content

A persistence-agnostic repository library.

License

Notifications You must be signed in to change notification settings

Tavenem/DataStore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

build NuGet downloads

Tavenem.DataStore

Tavenem.DataStore is a persistence-agnostic repository library. Its intended purpose is to help author libraries which need to interact with a project's data layer, while remaining fully decoupled from persistence choices.

For example: you might want to author a library which can retrieve an object from the data store by ID, modify it, then update the item in the data store. You want your library to be useful to people who use EntityFramework to access a SQL database, people who use Marten to access a PostgreSQL database, or people who work with Azure Cosmos DB.

Tavenem.DataStore provides one possible way to handle this scenario. It provides a simple interface which encapsulates common data operations. As the author of a library, you can accept this interface and use it for all data operations. As a consumer of a library which uses Tavenem.DataStore, you can provide an implementation of this interface designed to work with the particular ORM or data storage SDK you are using in your project.

Installation

Tavenem.DataStore is available as a NuGet package.

In addition there are a handful of complementary NuGet packages which provide implementations of IDataStore for various ORMs and data storage SDKs. Currently these include:

Roadmap

Development on Tavenem.DataStore is ongoing. Major releases with breaking changes are possible on an unpredictable cadence.

Contributing

Contributions are always welcome. Please carefully read the contributing document to learn more before submitting issues or pull requests.

Code of conduct

Please read the code of conduct before engaging with our community, including but not limited to submitting or replying to an issue or pull request.

About

A persistence-agnostic repository library.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages