Overview
This module generates:- Repository interfaces for each entity
- Repository implementations using EF Core
- Base repository class with common CRUD operations
- Support for async and sync methods
- Paged query support
- Custom query methods
- Stored procedure support
Installation
Key Components
Repository Base
TheRepositoryBase<TDomain, TPersistence, TDbContext> class provides common repository operations:
RepositoryBase
Entity Repository
For each domain entity, a specific repository is generated:Customer Repository
Usage Examples
Basic CRUD Operations
CRUD Example
Advanced Queries
Query Examples
Query Options
Query Options
Configuration Options
Add Synchronous Methods to Repositories
Add Synchronous Methods to Repositories
Adds the synchronous equivalents for repository asynchronous methods.When enabled, methods like
Find(), FindAll(), Count() are generated alongside their async counterparts.Note: Synchronous methods are generally discouraged in modern applications. Use async methods when possible.Default: falseStored Procedures
The module supports executing stored procedures through repositories:Stored Procedure
Paging Support
The module includes aIPagedList<T> interface and implementation:
PagedList
Data Contracts
When working with data contracts (DTOs mapped to database views or stored procedures), the module generates:Data Contract Repository
Dependency Injection
Repositories are automatically registered in the DI container:Startup
Testing
Repositories can be easily mocked for unit testing:Testing
Related Modules
- Entity Framework Core - Base EF Core module
- EF Core Bulk Operations - Bulk operations support
- Entities - Domain entities
- Unit of Work - Unit of Work pattern
