List of ORM’s available for .NET

Posted on Updated on

What is ORM ?

ORM is a tool for storing data from domain objects to relational database like MS SQL Server in an automated way without much programming. O/RM includes three main parts: Domain class objects, Relational database objects and Mapping information on how domain objects maps to relational database objects (tables, views & storedprocedures). ORM helps us to keep our database design separate from our domain class design. This makes application maintainable and extendable. It also automates standard CRUD operation (Create, Read, Update & Delete) so developer doesn’t need to write it manually.

ORM Flow

Open Source:

  1. ADO.NET Entity Framework
  2. Business Logic Toolkit
  3. Castle ActiveRecord
  4. Database Objects
  5. Dapper
  6. My Batis.NET
  7. Linq TO SQL
  8. NHibernate
  9. nHydrate
  10. Subsonic


  1. The Base One Foundation Component Library (BFC)
  2. DataObjects.NET
  3. ECO (Domain Driven Design)
  4. Light Speed

Information of the list:

  1. ADO.NET Entity Framework enables developers to work with relational data as domain-specific objects, eliminating the need for most of the data access plumbing code that developers usually need to write. Using the Entity Framework, developers issue queries using LINQ, then retrieve and manipulate data as strongly typed objects. The Entity Framework’s ORM implementation provides services like change tracking, identity resolution, lazy loading, and query translation so that developers can focus on their application-specific business logic rather than the data access fundamentals.
    It is included in .NET Framework 3.5 SP1 and above…. more
  2. Business Logic Toolkit is a set of components to simplify .NET application development. BLToolkit is provided as source code that you can use “as is” or customize for your applications. It is written in C# and compatible with .NET Frameworks 3.5 and 4.0, Silverlight 4, and Mono . . more
  3. The Castle ActiveRecord project is an implementation of the ActiveRecord pattern for .NET. The ActiveRecord pattern consists on instance properties representing a record in the database, instance methods acting on that specific record and static methods acting on all records.Castle ActiveRecord is built on top of NHibernate, but its attribute-based mapping frees the developer of writing XML for database-to-object mapping, which is needed when using NHibernate directly.
  4. The Data Objects library is simple, powerful and easy to learn. There are no external files to setup – everything is setup using standard object-oriented techniques. It is light-weight, flexible and provides facilities for ensuring maximum performance. It is also under active development and requests for changes are always welcome. The source code is hosted on GitHub
  5. . Dapper is free as open source software that is distributed under dual license, either the Apache License 2.0 or the MIT License
    Dapper’s primary feature is mapping from .NET classes to database tables (and from CLR data types to SQL data types). Dapper also provides data query and retrieval facilities.
    Dapper is a micro-ORM: it does not offer the full range of features of a full ORM such as nHibernate or Entity Framework. This is by design. It focuses on simplicity and performance rather than full automation. Dapper does not generate the SQL queries, but only maps the result to Plain Old CLR Objects (POCOs). Third party extensions are available for mapping objects to INSERT and UPDATE queries. It is optimized for usage with .NET 4.0 or higher.
  6. The MyBatis.NET data mapper framework makes it easier to use a relational database with object-oriented applications. MyBatis.NET couples objects with stored procedures or SQL statements using a XML descriptor or annotations. Simplicity is the biggest advantage of the MyBatis.NET data mapper over object relational mapping tools.
    To use the MyBatis.NET data mapper, you rely on your own objects, XML, and SQL. There is little to learn that you don’t already know. With the MyBatis.NET data mapper, you have the full power of both SQL and stored procedures at your fingertips.
    The MyBatis.NET project is developed and maintained by a team that includes the maintainers of the “” data mapper.
  7. Language Integrated Query (LINQ, pronounced “link”) is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages, although ports exist for Java,[1] PHP, JavaScript and ActionScript.
    LINQ extends the language by the addition of query expressions, which are akin to SQL statements, and can be used to conveniently extract and process data from arrays, enumerable classes, XML documents, relational databases, and third-party data sourcesIt is included in .NET Framework 3.5 and above.
  8. NHibernate’s primary feature is mapping from .NET classes to database tables (and from CLR data types to SQL data types). NHibernate also provides data query and retrieval facilities. NHibernate generates the SQL commands and relieves the developer from manual data set handling and object conversion, keeping the application portable to most SQL databases, with database portability delivered at very little performance overhead
  9. nHydrate allows you to model and generate your application framework without having to worry about database updates. This is a major issue for developers who have production systems. Product managers constantly want to add features and enhance functionality. More often than not, this requires database changes. By modeling your application with nHydrate, you get database migration for free. Each time you generate a model, the database change scripts are automatically created
  10. Signum Framework
    Main Features:
    • Entities-first approach
    • ORM with a full LINQ Provider
    • Unified validation
    • Schema generation (and sync)
    • WPF smart-client interface
    • ASP.Net MVC web interface (working on it…)
    Signum Framework currently works fine with Sql Server 2005/2008 (express editions or greater).
  11. The Subsonic pattern is that each instance you work with is, literally, a row of data in your database. This means that each object type can be thought of as a table in your database.
  12. The Subsonic pattern is that each instance you work with is, literally, a row of data in your database. This means that each object type can be thought of as a table in your database.
  13. Here Irwsoft Data Framework come as help because by designed like Sql Syntax make us to use easier.
    Simplicity. It is less codes
    Many database application projects work with databases using stored procedures and functions.
    Here you can look How Irwsoft Data Framework doing with Stored Procedures.
    All Classes
    With Irwsoft Data, we no longer type a string name to access a data. All tables, functions and procedures are represented as data classes.
    This mean that you no longer type any query string to select table, execute function and procedure.
  14. The Base One Foundation Component Library (BFC) is a comprehensive RAD framework for creating networked database applications with Visual Studio and DBMS software from Microsoft, Oracle, IBM, Sybase, and MySQL. Building on a patented “database-centric” architecture, BFC employs a unique, cross-platform data dictionary to provide enhanced security, optimization, and maintainability, making it easier and quicker to develop robust, scalable applications.. more
  15. Features for DataObjects.NET
    • Visual Studio 2008, Visual Studio 2010, SharpDevelop 3 and others (MSBuild process support is required)
    • ASP.NET
    • WPF (built-in INotifyPropertyChanged, INotifyCollectionChanged, IDataErrorInfo implementation)
    • Open, extendable architecture (built-in IoC container, custom IoC containers support)
    • Built-in logging framework, custom loggers are supported through IoC
    Code-First approach with attribute-based mappings
    • Automatic maintenance of database schema: tables, foreign keys, constraints, indexes, sequences/generators, full-text indexes
    • Wide range of supported primary key types: int, long, string, guid, etc
  16. ECO (Domain Driven Design) is a true model-driven environment model is a central part of an ECO application. The developer alters the model and the changes are applied automatically to the underlying implementation. This allows developers to concentrate on the problem domain model instead of drowning in the implementation specifics. In particular there is no need to take care of database design which makes ECO applications more object-oriented and less database-oriented. Model construction in ECO is done in visual UML editor. The corresponding code is generated on the fly in either C# or Delphi.NET languages.
  17. LightSpeed’s design philosophy is centered on the following guiding principles:
    • Convention over configuration.
    • Support idiomatic .NET domain models: validation, data binding, change notification etc.
    • Highly usable API and low barrier to entry.
    • Encapsulate and encourage best practice patterns: session per request, Unit of Work etc.
    • Small, lightweight and fast.
    key features are:
    • Domain modelling. LightSpeed supports domain-driven design concepts such as entities and value objects, the Unit of Work pattern and aggregates.
    • Visual model design. You can create models in a visual designer, making it easy to see the relationships between entities and reducing the need for hand coding. Models can be created from an existing database or from scratch using a toolbox.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s