There are many different OR mappers available. The three
products that I consider when thinking about the object relational mapping
category are NHibernate, LLBL Gen Pro, RapTier and Wilson ORM.
NHibernate is the open source port of the popular OR mapper
Hibernate for java. I am not a java developer so I can not speak to how good
of a port it is. I have not used NHibernate myself, mainly because I have
found the documentation of the product to be poor so far. There is a very
active community around this product, but for my project I did not want to
participate in their project, I wanted to focus on building mine. I have read
and heard of success stories from colleagues along with their accompanying
horror stories with NHibernate. I do consider NHibernate to be a true mapper
because it does not generate code for the developer to manage. It does all its
work dynamically once configured.
The second mapper is LLBL Gen Pro, which comes with its own
environment for mapping objects with database tables and fields. This product
does generate code files, so it is not something that I wanted to use this time
around.
The third product is called RapTier. I have used this on a
couple different projects earlier this millennium with success. RapTier does
create code files though, so you have to maintain those and is something I
would not consider doing now. But at the time, I experienced this product to
be a great time saver because it allowed me to focus on the application and not
the data access. The company also provided good support and an aggressive
price.
The last product is WilsonORMapper and is ultimately what I
decided to use on this project.