NHibernate is a mature, open source object-relational mapper for the .NET framework. The app is actively developed, fully featured and used in thousands of successful projects across the globe.
Key Features Include:
- Visual Studio Friendly: Easily map regular C# or VB.NET object models designed in Visual Studio. No special base classes or attributes needed. Fully supports inheritance, components and enums.
- Fast Development Cycle: Generates database tables from your domain models. Supports all popular relational databases. Supports the most complex legacy scenarios.
- Tons of Plugins & Tools: Full Text Search. Cluster-scoped caching with Microsoft Velocity & Memcached. Business validation rules. ReSharper plugin. Castle Active Record. S#arp Architecture. And many more.
- Established Community: NHibernate is a popular, fast growing ORM with a helpful community of seasoned developers. Used in thousands of commercial and open source projects.
NHibernate not only takes care of the mapping from .NET classes to database tables (and from .NET data types to SQL data types), but also provides data query and retrieval facilities. This can significantly reduce development time otherwise spent with manual data handling in SQL and ADO.NET.
The [NH-3904] has been reverted in favor of [NH-2401]: users now required to explicitly specify custom user type via MappedAs method if they want to use IUserType/ICompositeUserType type parameters in Linq queries, or implement generators the way they take the types into account.
[NH-3940] - Revert NH-3904.
[NH-3929] - ExpressionParameterVisitor selects wrong CustomType for ConstantExpression.
[NH-3941] - MappedAs() does not work.