Object-relational mapping (ORM, O/RM, and O/R mapping) in computer software is a programming technique for converting data between incompatible type systems in object-oriented programming languages.

NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database.

Microsoft enters the ORM (Object Relational Mapping) world with the introduction of LINQ (Language Integrated Query). This is provided as a built-in feature in Visual Studio 2008 and the .NET Framework 3.5 which was released to the public on November 19, 2007.

Like most ORM data models, LINQ offers the ability to work with databases and other form of data stores (such as XML) as pure objects. For example, if your data store is a SQL Server relational database then LINQ will convert your tables into objects called Entities and treat the table fields as Properties. LINQ also provides full support for your stored procedures by using them as Methods (providing functionalities for your objects).