A generic repository and unit-of-work framework for ASP.NET Core applications using Entity Framework Core.
DataAccess Toolbox is a framework that implements the repository and unit-of-work patterns for ASP.NET Core applications using Entity Framework Core. It provides base classes for entities and repositories, generic CRUD operations, and query helpers to streamline data access while maintaining separation of concerns.
ASP.NET Core developers building applications with Entity Framework Core who want a structured, maintainable data access layer without writing repetitive boilerplate code.
It offers a standardized, production-ready foundation for data access that reduces development time, enforces best practices, and simplifies complex query building and paging compared to manual Entity Framework implementations.
Generic repository/unit of work framework for ASP.NET Core with Entity Framework.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generic repositories provide pre-built Get, GetAll, Add, Update, and Remove methods, significantly reducing boilerplate code for common database interactions as shown in the README examples.
Implements the unit-of-work pattern via IUnitOfWork and IUowProvider, promoting separation of concerns and making business logic more testable and maintainable.
Includes Filter, Includes, and OrderBy classes to simplify complex query construction, such as building Include chains for related entities, as demonstrated in the Query section.
Offers IDataPager for efficient retrieval of large datasets in pages, directly addressing performance concerns with large collections without custom implementation.
Requires configuring a custom NuGet feed (MyGet) and careful version management—separate branches for netcoreapp1.x vs 2.0—adding friction compared to standard EF Core setups.
The README explicitly states 'automatic discovery of repositories -- not yet', forcing developers to manually register custom repositories in the DI container.
Tightly couples applications to Digipolis's framework conventions and base classes, potentially complicating migration to other data access patterns or future .NET versions.
The unit-of-work and repository layers add extra complexity and indirection, which might be unnecessary for simple CRUD operations and could impact performance marginally.