Code Monkey home page Code Monkey logo

repodb's Introduction


SolutionBuilds CoreVersion Releases CoreUnitTests CoreIntegrationTests GitterChat

RepoDb - a hybrid ORM Library for .NET.

RepoDb is an open-source .NET ORM library that bridge the gaps of micro-ORMs and full-ORMs. It helps you simplify the switch-over of when to use the BASIC and ADVANCE operations during the development.

It is your best alternative ORM to both Dapper and EntityFramework.

๐Ÿ‘‹ Hey Scott, thank you for endorsing RepoDb into the community of .NET.

Benefits/Advantages

Like with any other ORMs, RepoDb does provide the preliminary methods needed for your basic operations (i.e.: CRUD). The good thing is, RepoDb also does provide the operations that is needed to cater your edge-cases like 2nd-Layer Cache, Tracing, Repositories, Property Handlers and Batch/Bulk Operations.

If you are to use RepoDb, your development experience is as simple as Dapper when opening a connection and is as simple as Entity Framework when executing an operation. It is the reason that makes this library the simpliest ORM to use.

When you do the bulk operations, the generated value of the identity columns will be set back to the data models, just right after your execution. It is an important use-case that is/may needed by you and/or most developers, and both the BulkInsert and BulkMerge operations addressed this need.

In addition, RepoDb does support the different way-of-executions (the atomic, the batch and the bulk). Through this, it is easy for you to establish your repository that can process the smallest-to-the-largest datasets without even affecting the efficiency and the performance of your application.

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.

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.

Get Started

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

Or, learn a specific feature.

Otherwise, please visit our documentation page to learn more.

Supported Databases

The execute methods below support all the RDBMS data providers.

Whereas the fluent methods below only support the SQL Server, SQLite, MySQL and PostgreSQL RDBMS data providers.

Click here to see all the operations.

Benchmark

The benchmark result shown on this section is the result of the community-approved ORM bencher tool (the RawDataAccessBencher tool).

Below is the actual recent official execution result.

Library Limitations

It is very important for you and to the community of .NET to learn the things the library is capable and is-not capable of doing, so please spend time reading the limitation page before using the library.

Contributions

We would like to make RepoDb the mainstream hybrid-ORM library for .NET technology. Please help us build and realize the solution.

To contribute, you can find a for-grabs item and issue a PR. Otherwise, you may 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 expertise is needed to correct the forms, if needed.

Your biggest contribution is to utilize and share this library to the other developers.

  • Blog it
  • Discuss it
  • Document it
  • Share it
  • Use it

Or, show your support by simply giving a โญ on this project.

Engagements

Please get in touch with us via:

Hints

Credits

Thanks to all the contributors of this project, and to Scott Hanselman for Exploring the .NET open source hybrid ORM library RepoDB.

And also, thanks to these awesome OSS projects.

License

Apache-2.0 - Copyright ยฉ 2019 - Michael Camara Pendon

repodb's People

Contributors

mikependon avatar rdagumampan avatar sergergood avatar cwaldron avatar bgrainger avatar davidrot avatar fake-fur avatar say25 avatar akilaetribe avatar geewee avatar kjnckelly avatar nickdodd79 avatar mertkokusen avatar ovidr avatar sellig avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.