21.1 Mapping Objects to the Database with NHibernate (or How to Stop Writing All That Data-Access Code)

NHibernate is a C# port of Hibernate, the popular Java Object/Relational Mapper. NHibernate maps business entities to relational databases, drastically cutting the amount of time you’ll need to spend writing tedious stored procedures and data-access code.

There are plenty of commercial .NET Object/Relational Mappers available, but NHibernate is one of the first open source mappers that is starting to gain traction in the community.

The basics of O/RM are covered in this chapter’s introduction. As mentioned there, business entities solve many of the issues involved with using DataSets. Entities are very lightweight, they are strongly typed, they allow limitless validation, and they can easily be exposed to any other platform through web services. The only real drawback to entities is that they require more coding than DataSets. This is one of the reasons NHibernate is so valuable: it helps bring the development time associated with entities back down to a level closer to that associated with DataSets.

NHibernate at a Glance

Tool

NHibernate

Version covered

1.02

Home page

http://www.nhibernate.org

Power Tools page

http://www.windevpowertools.com/tools/128

Summary

Full-featured .NET open source O/RM tool

License type

GNU LGPL

Online resources

Mailing lists, forums, issue tracker, Wiki, development ...

Get Windows Developer Power Tools now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.