Library featuring an opinionated, reusable data access layer offering abstractions and implementations for EF Core compatible storages.
To utilize all features using Autofac is required.
- Full fledged base entity definition with soft deletion and snowflake ID support
- Specification pattern encapsulating query LINQ logic avoiding bloated repositories
- Read-only and CRUD versions of repositories and data services
- Data services with mapping support (currently requires setting AutoMapper up)
- Fully abstracted and unit test ready including EF Core's DbContext
- Only asynchronous operations
- Supports decorators, adapters and interceptors via Autofac's methods
- EF Core caching via a caching interceptor offered by EFCoreSecondLevelCacheInterceptor
- In-memory query evaluation through specifications
To register the library services with the DI container use extension methods on ContainerBuilder
or IServiceCollection
provided by the library and register one or both offered sets of services:
builder.AddDataExplorer(options =>
{
options.AddEfCore(assembliesToScan);
});
Documentation available at https://mikym.github.io/DataExplorer/.
Examples and PoCs are available within the examples subdirectory.