• ORM Frameworks are tools, and as with anything else, you need to use the right tool for the right job. Use the wrong tool, and you will break something.

    I believe ORMs have their place, and if you can override their automatic SQL generation when needed to ensure good performance, then you are all set.

    I had one project where it was critical for me to represent data in business objects, not just datasets. I estimated that in order for me to properly design the business objects and data access layer to not only hold data, but manage state, change tracking, concurrency, relationships, etc, it would have taken me about two weeks minimum. Using the Entity Framework, I was able to complete the same task in about 3 days.

    ORMs are not the be-all-end-all of data access, but when used appropriately and for the appropriate tasks, they are good tools for getting the job done.