A fast, DB-independent data access layer for .NET Core with abstract queries, SQL command builder, and POCO mapping.
NReco.Data is a fast, database-independent data access layer (DAL) for .NET Core and .NET Framework. It provides abstract query structures, a SQL command builder, and POCO mapping capabilities, allowing developers to interact with databases without writing raw SQL. It solves the problem of tightly coupling application code to specific SQL dialects while maintaining high performance.
.NET developers building data-intensive applications who need a lightweight alternative to Entity Framework or Dapper, especially those requiring dynamic query generation or multi-database support.
Developers choose NReco.Data for its balance of performance and features—it matches Dapper's speed while offering abstract queries, automated CRUD, and schema-less data access. Its DB-agnostic design and support for any ADO.NET provider make it highly flexible for multi-database environments.
Fast DB-independent DAL for .NET Core: abstract queries, SQL commands builder, schema-less data access, POCO mapping (micro-ORM).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The README states it shows almost the same performance as Dapper, making it one of the fastest options for data access in .NET.
Works with any ADO.NET provider, including SQL Server, PostgreSQL, and SQLite, via DbFactory configuration, ensuring portability across databases.
Offers an abstract Query structure that allows runtime construction of queries without raw SQL, ideal for applications with variable conditions.
Supports schema-less access through dictionaries, RecordSet, and DataTable, providing alternatives to POCOs for rapid or unstructured data handling.
Unlike Entity Framework, it lacks LINQ support, forcing developers to use its custom Query syntax or raw SQL for all queries.
Requires explicit setup for each database provider, such as specifying LastInsertIdSelectText in DbFactory, which can be error-prone and tedious.
Has a smaller community and fewer third-party tools compared to established ORMs like EF Core or Dapper, potentially slowing down troubleshooting and adoption.