ServiceStack.OrmLite - Fast, Simple, Typed ORM for .NET

  •        27

Follow @ServiceStack or join the Google+ Community for updates, or StackOverflow or the Customer Forums for support.OrmLite's goal is to provide a convenient, DRY, config-free, RDBMS-agnostic typed wrapper that retains a high affinity with SQL, exposing intuitive APIs that generate predictable SQL and maps cleanly to (DTO-friendly) disconnected POCO's. This approach makes easier to reason-about your data access making it obvious what SQL is getting executed at what time, whilst mitigating unexpected behavior, implicit N+1 queries and leaky data access prevalent in Heavy ORMs.

https://servicestack.net/ormlite
https://github.com/ServiceStack/ServiceStack.OrmLite

Tags
Implementation
License
Platform

   




Related Projects

ServiceStack.Redis - .NET's leading C# Redis Client


Follow @ServiceStack or join the Google+ Community for updates, or StackOverflow or the Customer Forums for support.Redis Connection strings have been expanded to support the more versatile URI format which is now able to capture most of Redis Client settings in a single connection string (akin to DB Connection strings).

linq2db - Linq to database provider.


LINQ to DB is the fastest LINQ database access library offering a simple, light, fast, and type-safe layer between your POCO objects and your database.Architecturally it is one step above micro-ORMs like Dapper, Massive, or PetaPoco, in that you work with LINQ expressions, not with magic strings, while maintaining a thin abstraction layer between your code and the database. Your queries are checked by the C# compiler and allow for easy refactoring.

RestBus - Easy, Service Oriented, Asynchronous Messaging and Queueing for .NET


RestBus is a high performance library for RabbitMQ that lets you consume ASP.NET Core (ASP.NET 5), Web API and ServiceStack service endpoints via RabbitMQ.where /hello/random is an ordinary web service endpoint in an ASP.NET Core, Web API or ServiceStack service. RestBus routes the request over RabbitMQ, invokes the endpoint and returns the response, without ever hitting the HTTP transport.

NBear


NBearLite : NBearLite is a .NET 2.0 data access component which supports MsAccess, SqlServer, Oracle, Sqlite, MySql, PostgreSql databases. NBearLite is the new Core of the next generation of NBear V4 Framework, but can also be used seperately.

Typeorm - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5)


TypeORM is an ORM that can run in NodeJS, Browser, Cordova, PhoneGap and Ionic platforms and can be used with TypeScript and JavaScript (ES5, ES6, ES7). Its goal to always support latest JavaScript features and provide features that help you to develop any kind of applications that use databases - from small applications with a few tables to large scale enterprise applications with multiple databases.


Coolstorage - ORM library for .NET


The main strength of Vici CoolStorage is the ease of use. Most ORM tools still require a lot of unneeded code to accomplish basic data persistence tasks, but Vici CoolStorage is designed to relieve the programmer from these tedious and error-prone tasks, making it very intuitive to use.

coreclr - This repo contains the


.NET Core is best thought of as 'agile .NET'. Generally speaking it is the same as the Desktop .NET Framework distributed as part of the Windows operating system, but it is a cross platform (Windows, Linux, macOS) and cross architecture (x86, x64, arm) subset that can be deployed as part of the application (if desired), and thus can be updated quickly to fix bugs or add features.Most users don't need to build .NET Core from source since there is already a built and tested version for any supported platform. You can get the latest released version of the .NET Core SDK by following the instructions on the .NET Core Getting Started page. If you need the most up to date (daily) version of this .NET Core installer you can get it from the latest Installers of .NET Core and .NET Core SDK. If you want one of our official releases, you can get the download from the download archive page.

XDFLengine - XML application server


Full XML application server designed to build high performance applications based on XML technologies in no time. Runs on Win32 and Unixes and includes database features (Oracle, MS SQLServer, PostGreSQL, MySQL), javascript, XSLT , cryptography, ...

MagicOnion - gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity.


gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity.for .NET 4.6, 4.7 and .NET Standard 1.5(.NET Core) available in NuGet. Unity supports see Unity Supports section. HttpGateway + Swagger Intergarion supports see Swagger section.

ServiceStack.Examples - Example Projects built with ServiceStack, C# RedisClient, OrmLite, etc


Join the new google group or follow @demisbellot and @ServiceStack for twitter updates.

DbNetData


A collection of cross vendor database interface classes for .NET written in C# providing a consistent and simplified way of accessing SQL Server, SQL Server CE,Oracle,Access,Access 2007,MySql,DB2,Visual FoxPro,dBASE,Paradox,Pervasive,Firebird,VistaDB and Postgresql databases.

Enums.NET - Enums.NET is a high-performance type-safe .NET enum utility library


Enums.NET is a high-performance type-safe .NET enum utility library which provides many operations as convenient extension methods. It is available as a NuGet Package and is compatible with .NET Framework 2.0+ and .NET Standard 1.0+.I'm trying to integrate some of Enums.NET's improvements into corefx so if interested in its progress please check out the proposal here.

rdb - Javascript ORM


ORM for nodejs. Supports postgres, mySql and sqlite. 1.7.1 Support for schemas (postgres only). 1.7.0 sqlite3 is now a peer dependency. Add it to your own package.json if you intend to use it. 1.6.9 Bugfix: one-to-many relation returns empty if strategy is included. 1.6.8 Bugfix: one-to-many relation returns empty if insert/update is done earlier in transaction. 1.6.7 Bugfix in relations. 1.6.6 Bugfix. 1.6.5 Improved performance on relations. 1.6.4 Bugfix. 1.6.3 Bugfix: potential incorrect timeZoneOffset when serializing date to JSON. Got timeZoneOffset from now() instead of on actual date. 1.6.2 Removed es6 syntax to ensure backwards compatability. Fixed global var leak. 1.6.1 Now supporting sqlite. 1.6.0 Bugfix: potential ambigous column error when using limit and relating to other tables. 1.5.9 Bugfix: using multipleStatements in mySql could sometimes cause an error when updates are run right before a select. Improved performance on limit when relating to other tables. Using uuid instead of node-uuid Updated all dependencies but generic-pool to latest. (Generic-pool has some breaking changes in latest. I will update it in next release.) 1.5.8 Cleanup line breaks in documentation. 1.5.7 Bugfix: getById.exclusive and tryGetById.exclusive did not lock if row was cached. Improved performance on tryGetFirst. 1.5.6 Raw sql filters can accept sql both as string and as function. E.g. var filter = {sql: function() {return 'foo > 1';}}. 1.5.5 Optional locks for getMany, tryGetFirst and tryGetById. Instead of calling getMany(params) just call getMany.exclusive(params). Same syntax goes for tryGetFirst and tryGetById. This will result in SELECT FOR UPDATE. Bugfix: bulk deletes now accepts raw sql filters too. 1.5.4 Transaction locks. Postgres only. 1.5.3 Upgraded to pg 6.0.3 1.5.2 Improved performance and reduced memory footprint. 1.5.1 Documented JSON column type. Bug fix: Insert and foreign key violation. 1.5.0 JSON column type. Postgres json type does not support rdb filters. 1.4.1 Empty filter would sometimes cause invalid filter. 1.4.0 Raw SQL query. 1.3.0 getMany() now supports limit and orderBy - same syntax as in streaming. 1.2.3 Bugfix: iEqual gave incorrect sql when parameterized. 1.2.2 Exlusive no longer returns a clone of table. It has changes current table to exclusive locking. 1.2.1 Bugfix: Exclusive row locks 1.2.0 Exclusive row locks 1.1.0 Now supporting streaming. Requires postgres or MySQL >=5.7.7 1.0.8 README fixup. 1.0.7 Better performance on insert and update. 1.0.6 Bugfix: Transaction domain should not forward rdb singleton from old domain. 1.0.5 Documentation cleanup. 1.0.4 orderBy in toDto(). 1.0.3 toDto() using next tick on every thousandth row to avoid maximum call stack size exceeded. 1.0.2 Reduced number of simultaneous promises in order to avoid maximum call stack size exceeded. 1.0.1 Bugfix: Incorrect insert/updates on timestamp without timezone. The time was converted utc instead of stripping the timezone. 1.0.0 Transaction domain forwards properties from old domain. Semantic versioning from now on. 0.5.1 Improved performance 0.5.0 Logging: rdb.log(someFunc) logs sql and parameters. Raw sql filters. 0.4.9 New method: tryGetById. New filter: iEqual, postgres only. Bugfix: rows.toJSON() without strategy did not include any children. 0.4.8 Explicit pooling with size and end(). Bugfix: mySql did not release client to pool. 0.4.7 Upgraded to pg 4.3.0 Upgraded to mysql 2.5.5 0.4.6 Upgraded pg 4.2.0. 0.4.5 Oops. Forgot to use pg.js instead of pg. 0.4.4 Upgraded all dependencies to latest. Using pg.js instead of pg. 0.4.3 Can ignore columns when serializing to dto. 0.4.2 Bugfix: update on a row crashes when a delete occurs earlier in same transaction. 0.4.1 Bugfix: more global leaks. 0.4.0 Bugfix: global leak. 0.3.9 Bugfix: eager loading joins/hasOne with non unique column names was not handled correctly. 0.3.8 Supports mySql. Bulk deletes. 0.3.7 Bugfix: eager loading manyRelation on a join/hasOne returned empty array #11 0.3.6 Fixed sql injection vulnerability. 0.3.5 Built-in fetching strategies for lazy loading. Works best in readonly scenarios. 0.3.4 Docs and examples split moved to separate file. 0.3.3 Fixed documentation layout again. 0.3.2 Fixed documentation layout. 0.3.1 Case insensitive filters: iStartsWith, iEndsWith and iContains. 0.3.0 Fix broken links in docs. 0.2.9 Support for row.delete(). Rollback only throws when error is present. 0.2.8 Guid accepts uppercase letters. Bugfix: null inserts on guid columns yielded wrong sql. 0.2.7 New method, toDto(), converts row to data transfer object. Bugfix: toJSON returned incorrect string on hasMany relations. 0.2.6 Fixed incorrect links in README. 0.2.5 Bugfix: caching on composite keys could give a crash #7. Improved sql compression on insert/update. 0.2.4 Bugfix: getMany with many-strategy and shallowFilter yields incorrect query #6. 0.2.3 Reformatted documentation. No code changes.

Bogus - :card_index: A simple and sane fake data generator for C#, F#, and VB


Hello. I'm your host Brian Chavez (twitter). Bogus is a simple and sane fake data generator for .NET languages like C#, F# and VB.NET. Bogus is fundamentally a C# port of faker.js and inspired by FluentValidation's syntax sugar.Minimum Requirements: .NET Standard 1.3 or .NET Framework 4.0.

OpenNETCF.ORM Framework


The OpenNETCF.ORM library is a lightweight object-relational mapping framework designed for use with the .NET Compact Framework, the full .NET Framework and Mono for Android (a.k.a. MonoDroid) and Mono for iOS (MonoTouch). The framework is extensible to allow any type of ba...

Hibernate - Relational Persistence for Java


Hibernate facilitated the storage and retrieval of domain objects via Object/Relational Mapping. Today, Hibernate is a collection of related projects enabling developers to utilize POJO-style domain models in their applications in ways extending well beyond Object/Relational Mapping.

DbEntry.Net (Lephone Framework)


DbEntry.Net (Lephone Framework) is a lightweight, high performance ORM compnent for .Net 2.0 and 3.5. It has clearly and easily programing interface. It based on ADO.NET, and supported C#, Visual Basic, ASP.NET etc. It also provide DbEntryDataSource for ASP.NET 2.0 and a Rails...

DBBinder++


DBBinder++ is a data-binder/ORM tool for SQL Databases (SQLite, MySQL, Firebird, Oracle and possibly others). Given an input file which contains severall SQL commands, it will generate source code to easily acess the results.