views:

1790

answers:

4

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

+4  A: 

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
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
Not a downvoter but if you say anything bad about open source projects expect to receive a -1 from fanatics.
Thedric Walker
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
+1  A: 

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.

RideSearch.com
+6  A: 

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
So did you get any chance to try OA? In that case, how was it?
Bjørn
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 Ratayczak
+4  A: 

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
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
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
@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.
Alex
@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