• Excellent, and timely, question. I've been trying to track down the exact same information. The whole idea of ORM (Object Relational Mapping), which LINQ and Entity Framework are examples, has recently become the new buzz-word with one of our larger development projects. They have a history of latching on to buzzwords introducing SOA, Agile, and generated code, only to toss part or all of them after a year or so. The new one is ORM. Based on all my research, ORM is probably a good thing. Unfortunately, like any good tool, it can be used in horribly wrong ways. Our guys seem to want to go down the "horribly wrong" path. Since objects are their goal, not so much data (although the whole purpose of the app is to collect data for use elsewhere in the enterprise), then we should make the database look like the objects, not that messy relational junk. Then the full flower of ORM can be applied. To say the least I'm concerned.

    Our guys have already dismissed LINQ (too simplistic) and Entity Framework (too database oriented) in favor of nHibernate. From what I can see, this is very widely used around the world, but not on large scale projects. It really seems to be a web-focused or hobby-focused engine. I've been trying to find any large scale implementations, especially any that have gone to production and seen a year or two of maintenance and troubleshooting and bug fixes and hot patches, etc.

    I've posted about it here on SSC. I also posted about it (very similar content, with a bit of different discussion) over at my (tiny) blog[/url]. I'll be watching, and taking part, in this discussion, but I also encourage anyone to jump into both of those as well since they're related.

    Thanks for posting this Steve. It's really helpful.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning