4 Answers
4

I'm wondering the same thing myself. On one hand, there's NH with its free, open-source self, but with limited support options. On the other, a fairly new addition to a well-known tool provider's box, OA.

OA costs money, but you get support. NH is free, but support has been known at least in my brief experience to be limited and slow in coming.

I think both are likely fine products. I've decided to give OA a try since I am already a user of Telerik's tools. OA and its support are being paid for anyway.

NH requires a "session" in which to do a unit of work with the database; OA calls it "scope". Both use "transaction".

OA has integration with Visual Studio and can both forward- and reverse-map to and from a database. Forward mapping is so you can design your classes and then "push" those into the database for persistence. The "reverse" is for you "domain model" developers which is what I prefer.

OA is definitely undergoing some major updates as Telerik plays "catch up" per its recent acquisition and release of OpenAccess, formerly owned by Vanatec (out of Germany).

As far as an "ease of use" and "performance / scalability" standpoint, I wish I knew where each stood. I'm sure someone out there could put together an honest test between the two and make those determinations.

One thing I like about NH is the available templates to generate the needed code not just for the "dumb" business objects (which is all OA generates now), but for a BLL and DLL. After much conversation with Telerik, I have the impression they plan for more code-generating options so OA is more useful out of the box.

Hope this helps! Someone please try to get some stats on the performance issues.

So did you get any chance to try OA? In that case, how was it?
–
Bjørn Otto VasbottenApr 29 '09 at 13:38

I've just started diving into OA. I previously used SubSonic. I love SubSonic, but there are some limitations that OA does not have, like being able to make a web service or WCF service with data that SubSonic does not support (out of the box anyways). I have no experience with nHibernate.
–
Rick RatayczakMay 31 '09 at 4:32

4

OpenAccess has recieved some big updates since this answer was posted, so i thought I would add a little update as well. The biggest change is that OpenAccess is now 100% free for all versions of MS SQL (excluding Azure) :) They also added the ability to use custom code generation templates to control the code OpenAccess generates for your model.
–
JoshuaJun 22 '11 at 0:07

1

In addition to the points Joshua made, OpenAccess ORM also now supports POCO objects and a code-only mapping option with its Fluent Mapping API. Telerik isn't really playing catch up with its competitors anymore and releases new versions at a faster pace (3-6 times per year) than most of its competitors. It is also free for SQL Server users and I can personally testify to the fact that Telerik support is far superior than most of other support teams out there.
–
Kevin BabcockJun 24 '11 at 15:59

I've not used it but one benefit obvious to me, is OpenAccess is supported by Telerik, where as nHibernate is supported by the community. Depending on your company this can be a deciding factor if your ready to embrace open source solutions with no guarentee of support.

Edit

For the record I am a big supporter of nHibernate, and open source in general. I have been using nHibernate for the last six months, using it for all new work in our web application. For my current company it is a good fit (Startups love free).

However, my previous employeer, would have had a very difficult time accepting a community supported component as a core piece of their infrastructure. This is perfectly reasonable as these companies' web sites are their sole source of revenue. Would you want to stake your entire business on software that has no accountability associated with it? Some people wouldn't want to take that risk on.

Personally I have found the support for nHibernate to be on par and even better with some commercial vendors.

My point is not to bash OSS, but to highlight one benefit of using software that has a coporate backing, with a fully staffed and dedicated support channel.

The problem is that the “bench marks” on ORMBattle are not very “real life” and were created by one ORM vender to show his ORM in good light. The speed of a ORM mostly comes down to the skill of the programmer using it, all the leading ORMs are fast enough on most databases.
–
Ian RingroseSep 24 '09 at 12:58

@Ian - I think your statement "created by one ORM vender to show his ORM in good light" is incorrect. It was created by a vendor, but otherwise the tests (if you bothered to actually look) are quite technically vendor neutral.
–
AryehMar 9 '10 at 3:56

@Alex, the problem is that "fast" is defined in the way that the given ORM vender things a database should be used. That can be very misleading. No one can even agree on what "better performance characteristics" means for a ORM at present!
–
Ian RingroseMar 9 '10 at 10:13

I would say nHibernate is free and OpenAccess is $399. Although CodeSmith with nHibernate templates is $99-$399 if you want nHibernate easily automated. It looks like OpenAccess has more transparency in the data layer and is probably easier to maintain. But, if you used something like Spring.Net you would not only have nHibernate automating the data but the service layer automated as well. Although take that with a grain of salt because nHibernate and Spring.Net are another batch of configuration files that need to be maintained. I bet OpenAccess is GUI friendly. Either one works, but there is alot more info out there on nHibernate.