The object-relational mapper for .NET

NHibernate Features

Nearly all of the features listed here are described more fully in the document: 

            NHibernate - Relational Persistence for Idiomatic .NET


  • Numerous databases supported
    • SQL Server (2000, 2005, 2008, Express, CE)
    • Oracle (9i, 10g, 11g)
    • DB2, Firebird, Informix, MySQL, PostgreSQL, SQLite, Sybase
  • Flexible mapping strategies
  • Based on Hibernate (Java)
    • Started as a port of Hibernate
    • Includes nearly all features of current Hibernate
    • Extends Hibernate by adding LINQ capabilities
  • Continuous integration development environment
  • Flexible query APIs
  • Multiple session configuration models
  • Logging support
  • Support for audit integration
  • Works with stored procedures, triggers
  • Significant body of add ons (Open Source and Commercial)
  • Multiple cache choices
  • Outer-join fetching, when supported by database
  • Batch SQL, when supported by database
  • Flexible connection management
  • Query language substitutions
  • Internal naming strategy definition
  • Support for dynamic model
  • Multiple proxy implementation choices
  • Lazy fetching for associations
  • Dynamic insert and update generation
  • Custom persistence mechanisms
  • Multiple Id generators
  • Support for Composite Keys
  • Multiple property access strategies
  • Flexible association mapping
  • Component mapping
  • Ability to map an association from multiple collection types
  • Custom value types
  • Supports bidirectional associations
  • Inheritance mapping
  • Metadata API
  • Stateless session capability
  • Direct DML capability
  • DDL schema generation from mapping files
© NHibernate Community 2024