RepoDb - a hybrid ORM Library for .NET.
RepoDb is an open-source .NET ORM that bridge the gaps between micro-ORMs and full-ORMs. It helps the developer to simplify the switch-over of when to use the BASIC and ADVANCE operations during the development.
It is the best alternative ORM to both Dapper and EntityFramework.
The benefits of using this library
- The installation is easy and fast, it can then be used right-away.
- The layer of like DbContext has been eliminated, thus give the developers more control on the implementation.
- The calls to fluent and raw-SQL methods are just a dot away.
- The implementation of repository is becoming more simple by leveraging the built-in repositories.
- The control to query optimizations is easy via hints.
- The processes to handle the large datasets is very-simple with batch and bulk operations.
- The round-trips to the database is being minimized with 2nd-Layer cache.
- The column transformation can be customized with property handlers.
- The auditing and tracing is much more simpler using the trace capability.
- The support to dynamics is rich and can even work without the models.
- The transmission of the data from different RDBMS data providers only take few lines of codes.
RepoDb operations were implemented as extended methods of the IDbConnection object. For as long the connection is open, the developers can do all the activities towards the database.
RepoDb has its own compiler and pre-caches the already-generated compiled expressions for future reusabilities. It understands your schema to create the most optimal compiled expression AOT.
RepoDb extracts and caches the object properties, execution contexts, object mappings and SQL statements. It is reusing them all throughout the process of transformations and executions.
RepoDb is a high-quality micro-ORM supported by 8K+ real-life Unit and Integration Tests. It is highly tested by various critical systems that is running in production environment.
Please click any of the link below to fast-track your learnings.
Or, learn the specific feature.
- Batch Operations
- Bulk Operations
- Caching
- Class Mapping
- Dynamics
- Connection Persistency
- Enumeration
- Expression Trees
- Hints
- Implicit Mapping
- Multiple Query
- Property Handlers
- Repositories
- Tracing
- Transaction
- Type Mapping
Otherwise, please visit our documentation page to learn more.
The execute methods below supports all RDBMS data providers.
Whereas the fluent methods below only supports the SQL Server, SQLite, MySQL and PostgreSQL RDBMS data providers.
Click here to see all the operations.
The benchmark result to be shown on this page will always be referring to the community-approved ORM bencher tool (the RawDataAccessBencher tool). Results below is the actual recent official execution result.
We would like to make RepoDb the mainstream hybrid-ORM library for .NET technology. Please help us build and realize the solution.
To contribute, please find a for-grabs item and issue a PR. Otherwise, please create a new issue for us to look-at and discuss. If you wish to contribute to the documentation site, it is hosted in the RepoDb.NET repository.
Your biggest contribution is to utilize and share this solution to other developers.
- Blog it
- Discuss it
- Document it
- Share it
- Use it
Please get in touch with us via:
- GitHub - for any issues, requests and problems.
- StackOverflow - for any technical questions.
- Twitter - for the latest news.
- Gitter Chat - for direct and live Q&A.
- Building the Solutions - let us build your copies.
- Coding Standards - let us be uniformed.
- Issuing a PR - let us be aligned and notified.
- Reporting an Issue - let us be organized for easy tracking and fixing.
- AppVeyor - for the builds and test-executions.
- GitHub - for hosting this project.
- Gitter - for the community engagements.
- Jekyll - for powering our website.
- Moq - for being the tests mocking framework.
- Nuget - for the package deliveries.
- RawDataAccessBencher - for measuring the performance and efficiency.
- ReadTheDocs - for the library documentations.
- SharpLab - for helping us on our IL coding.
- Shields - for the awesome badges.
- StackEdit - for being the markdown file editor.
- System.Data.SQLite, MySql.Data, MySqlConnector, Npgsql - for being the extended DB provider drivers.
Apache-2.0 - Copyright © 2019 - Michael Camara Pendon