Link Search Menu Expand Document

Welcome to RepoDB

A hybrid ORM library for .NET.

Get started now View it on GitHub


We are glad and thankful for your interest in learning RepoDB. It is an open-source .NET ORM library that bridges the gaps of micro-ORMs and macro-ORMs (aka Full-ORMs). It helps you simplify the switch-over of when to use the BASIC and ADVANCE operations during the development.

Its name is a shortcut to Repository (a popular pattern when implementing Data Access Layers) + the word Database.

Diagram below shows the high-level difference of RepoDB from both the micro-ORM and macro-ORM.

Even the library is rich on features (i.e. Batch/Bulk, Cache, Repositories, etc), it is still on the space of micro-ORM.


Why use RepoDB?

The main goal is to improve and simplify your development experiences when working with data access technology in .NET ecosystem. We would like you to have an easy access to the underlying database capability while maintaining the good programming coding standards and practices.

If you are to use a full-fledged macro-ORM, you will most likely be abstracted by the framework itself. Though it is richer in features, it might limit you to touch and maximize the power of the underlying database being in-used.

On the other hand, if you are to use a bare-metal micro-ORM, there is a tendency that your implementations will be verbose (text-based as SQL). Though you have a lot control with this, it is also tedious and not practical in most cases.

RepoDB mediates both the micro-ORMs and macro-ORMs. It only requires a connection string to open a connection and the entire feature sets can then be utilized right away. It is the main reason why this library is the easiest-to-use ORM.

You can use the library to work with SQL Server, SQLite, MySQL and PostgreSQL RDBMS data providers.

Important Attributes

Easy to Use - the operations were all implemented as extension methods of your IDbConnection object. For as long your connection is open, any operations can then be called against your database.

High Performant - it caches the already-generated compiled expressions for future reusabilities and executions. It understands your schema to create the most optimal compiled expression AOT.

Memory Efficient - it extracts and caches your object properties, execution contexts, object mappings and SQL statements. It is reusing them all throughout the process of transformations and executions.

Dynamic and Hybrid - it provides some advance features of the full-fledged ORMs. It significantly help the developers to simplify the experience when context-switching during the development.

Open-Source Software - it is an open-source software and will always be free. It is authored to further improve the .NET data access experiences and solutions, together with the collective ideas of the community.

High Quality - it is a high-quality micro-ORM supported by 10K+ real-life Unit and Integration Tests. It is highly tested and is used by various critical systems that are running in the Production environment.


Official Benchmark

RepoDB shows an impressive performance and memory-efficiency if being compared with other ORMs available in the .NET ecosystem.

(It is the fastest and the most-efficient ORM in .NET space nowadays)

The benchmark statistics shown above is the result of the community-approved ORM bencher RawDataAccessBencher.

You can visit the benchmark section of our Github page to get more information.


Let us get started

Please click any of the link below to fast-track your learnings about this library.

Or, please visit our installation page for more information, otherwise, visit our docs page to simplify your navigation.