10

Have you used the OpenAccess ORM from Telerik? How does it compare to NHibernate? When should I consider using it over NHibernate?

Lance Fisher
  • 25,684
  • 22
  • 96
  • 122

4 Answers4

10

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 uses plain classes and object with no decorations on the class properties whatsoever. OA requires decorations (nicely generated by the OA Visual Studio GUI).

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.

Donna
  • 354
  • 1
  • 2
  • 5
  • So did you get any chance to try OA? In that case, how was it? – Bjørn Otto Vasbotten Apr 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 Rat May 31 '09 at 04: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](http://www.skimedic.com/blog/post/2011/06/08/2011-Brings-all-New-Free-Database-Providers-for-Telerike28099s-OpenAccess-ORM.aspx) for all versions of MS SQL (excluding Azure) :) They also added the ability to use custom [code generation templates](http://www.telerik.com/help/openaccess-orm/openaccess-tasks-customise-code-generation-overview.html) to control the code OpenAccess generates for your model. – Joshua Jun 22 '11 at 00: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](http://www.telerik.com/help/openaccess-orm/fluent-mapping-overview.html). 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 Babcock Jun 24 '11 at 15:59
9

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.

JoshBerke
  • 66,142
  • 25
  • 126
  • 164
  • You guys can be harsh I get a +1 and -1, this is a valid concern you have to think through. I wish the down voter would at least leave a reason why. – JoshBerke Jan 13 '09 at 21:57
  • Not a downvoter but if you say anything bad about open source projects expect to receive a -1 from fanatics. – Thedric Walker Mar 17 '09 at 14:03
  • Thanks for the comment, I had no intention of this coming accross as bad or negative. I hope my Edit explains better what I was thinking – JoshBerke Mar 17 '09 at 15:07
6

One more reason: Currently OpenAccess has better performance characteristics, if you need fast ORM for your project it will be a better choice. See ORM benchmarks for details.

Alex Kofman
  • 2,153
  • 19
  • 20
  • 4
    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 Ringrose Sep 24 '09 at 12:58
  • I think you must read FAQ there first. Start from e.g. this one: http://ormbattle.net/index.php/faqs/78-what-kind-of-orm-tool-can-win-in-this-benchmark.html – Alex Yakunin Nov 05 '09 at 21:30
  • @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. – aryeh Mar 09 '10 at 03: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 Ringrose Mar 09 '10 at 10:13
1

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.

  • 1
    OpenAccess is now free for all versions of SQL Server, and also for any free database it supports (MySQL, Oracle XE, etc). – Kevin Babcock Jun 24 '11 at 16:01