Re: Finally which ORM tool?



Jon Skeet [C# MVP] wrote:
Do you have examples of what it doesn't handle on different backends? nHibernate certainly supports a fair number of databases - which is not the same as saying it's *as well* supported on all the different backends :)

It seems to do OK on Firebird but falls over on really simple stuff in MS Access (e.g. create a Guid column in your Access table and watch the schema generation fall over when it tries to create the table). There are a number of documented issues with nHibernate and MS Access (due to limited support in MS Access for stuff like subqueries) - whereas XPO works flawlessly with MS Access. Like I say, there are good technical reasons why XPO provides better support for these wimpy lesser databases.

Most of the time I wouldn't care but Access is still a nice choice if you want to create a simple desktop application that you plan to roll out to the masses. Embedded Firebird is about the only other option that I've found to do the same - and indeed Firebird is WAY more powerful than Access (I'd say it's got almost as much punch as MS SQL Server in fact) so technically it's a superior choice... but very few people know what an fdb file is or would have any idea how to read it using tools other than my apps, so MS Access is quite a nice choice for end users who may want to access the data the app produces and generate their own reports using tools they're already familiar with.

XPO also has an option to use an "In Memory" persistence layer, which is really nice in unit testing scenarios.

As usual you kinda have to pick the tool for the job and nHibernate isn't always a clear winner - XPO still wins out in quite a few areas, but generally speaking nHibernate is pretty solid.

Best Regards,

James Crosswell
Microforge.net LLC
http://www.microforge.net
.



Relevant Pages

  • Re: access denied: NHibernate
    ... NHibernate is a data accessing component (ported from the Hibernate ... It concentrate on O-R mapping data accessing. ... Microsoft MSDN Online Support Lead ... where an initial response from the community or a Microsoft Support ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Finally which ORM tool?
    ... Currently there are some good ORM tools like NHibernate and LLBGL. ... XPO is much slicker in terms of generating and maintaining the underlying databases and also has much better multi database support than nHibernate. ... But neither of them do n-tier at all well. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Finally which ORM tool?
    ... for SQL Server work I'm really starting to like nHibernate. ... It doesn't support other database backends as well as something like XPO, but it gives much better support for the SQL Server specific features and Listmethods). ... XPO has kind of written to the lowest common denominator and, because not all DBs have an inherent way of supporting paging they basically don't provide any support for paging. ... although Linq for Entities or whatever they're calling it these days seems like it will do much the same thing, so I wonder what the future will hold for the other ORMs - certainly it'll make them a harder sell if Linq comes with Visual Studio. ...
    (microsoft.public.dotnet.languages.csharp)

Loading