Earlier quoted context omitted.
If you have to log the generated SQL to understand what's happening, you're already behind the curve. And then what do you do if the ORM is generating junk? If the answer is "use a querybuilder/handcrafted SQL for that one", what's the point of the ORM in the first place?
How often is the ORM generating junk? To say that the ORM is useless because occasionally it doesn't generate performing code (with EF and Linq more often than not it does generate performant code) could be applied to any high level construct. But I don't see people giving up modern languages to go back to writing everything in Assembly or even C. Yes I optimize when my automated performance testing/stress testing, t…
From what I've seen (couple of home-grown ones, Class::DBI, ActiveRecord), "more often than you want".
(I'm willing to admit they may not be class-beating examples. :)