Whats the best feature of the ORM framework you use [closed] Whats the best feature of the ORM framework you use [closed] database database

Whats the best feature of the ORM framework you use [closed]


We just recently went through the process of deciding between Entity Framework and NHibernate. Although my initial propensity was to lean towards NHibernate, given that Microsoft's track record of actually sticking with a technology has been less than stellar here in the past few years (ex: Linq To SQL, dead at version 1, or for a more recent example were MS decided to ditch ASP.NET Ajax Library client templates, check this), we still decided to go with Entity Framework.

We chose it for the following reasons:

  1. We are a Microsoft only shop, so it integrated well with our existing tool set.
  2. We liked the fact that it had the built-in modeling capability with it in Visual Studio 2010.
  3. We liked the capability of being able to reverse engineer a DB schema into an entity data model (this was really cool).
  4. We liked the fact that everything we needed was pretty much available out of the box, unlike with NHibernate where we would have to use different tools to do visual modeling, the mapping files can be a pain to deal with at times) and it didn't integrate as nicely with Visual Studio.

Whether or not going with Entity Framework was the right choice remains to be seen. There's always the chance that Microsoft could pull another "Linq To SQL" and say, "Hey, we're throwing away Entity Framework, sorry about that, you should have gone with NHibernate". But we decided that since it is on 2.0 now with VS 2010, there's at least a good chance that it's going to be around for a few years.

So even though we liked NHibernate's proven track record much better than Entity Framework's, we went with Entity Framework for the reasons I mentioned above.

I think you just have to look at the pros and cons of each tool, examine all the options, and try to make the best decision you can.


I'm wondering what the best feature(s) of the orm framework you use and what features you find yourself using most?

I wrote my own ORM. Features include:

  • Machine-generated code for each table, based on abstract table definitions

  • A library/framework, which acts on the table definitions and the run-time data, in order to implement ueful functions like:

    • Create tables (or update table definitions)
    • CRUD
    • Triggered stored procedures which create history records when a table's contents are changed
    • Support for tree-like data (using nested sets)
    • Transforming application types (C# class instances) to SQL data records and vice versa

What is the reason you chose the framework you use?

I didn't want to use an existing ORM, because I feared that I might sooner or later find that it did't implement some feature that I wanted, and that I'd then find it difficult to add that feature.

I wanted to use an ORM, because I didn't want to write and maintain code for each individual table.


I use empire-db by Apache.

The main reason is that I get rid of XML or annotations for defining database schemes. I really hate shifting complexity from coding to configuring having to cope with trillions of xml configuration files and - even worse - distributed configuration using annotations.