Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there an NHibernate killer out there?

This is probably a long shot.

In the .NET world, has anyone found an ORM (Commercial or Open) that has the flexibility of NHibernate to support domain driven design with good Linq support? Linq to sql is dead, Entity Framework doesnt yet support POCO's, lazy load or object first development very well, and none of the old stand bys such as LLBLGen seem to either.

Anyone find anything new and exciting in the ORM market?

Thanks!

like image 200
fregas Avatar asked Jan 21 '10 20:01

fregas


2 Answers

See ORMBattle.NET - it won't exactly answer your question (btw, I hardly admit this is possible), but there is some info on quality of LINQ support.

Note (or disclaimer): I'm one of persons related to creation of ORMBattle.NET, as well as one of DataObjects.Net authors.

like image 200
Alex Yakunin Avatar answered Nov 07 '22 11:11

Alex Yakunin


Which version of the .NET Framework are you talking about? 3.5? 4.0?

There are quite a few ORMs out there and some of the commercial ones may in fact meet your needs (or be working on new releases that meet your needs). Competing against both NHibernate and Entity Framework from a commercial perspective is pretty daunting. Microsoft made it much harder than necessary to write a Linq provider, which is why so few ORMs have one. Writing a domain driven design oriented ORM that supports multiple database vendors is also a pretty steep hill to climb.

NHibernate certainly has all the momentum right now, but that doesn't mean it's invincible. It's hard to compete with free & open source software that has a multi-year head start, even for a company with the financial resources of Microsoft.

I think you may just need to be patient. NHibernate's Linq provider is improving and the other ORM vendors are working hard on improving their offerings as well. Things could change significantly in the next two years or so.

like image 2
Michael Maddox Avatar answered Nov 07 '22 12:11

Michael Maddox