but the generated code is often not as optimized as what many would write. For instance, even if you're aggregating multiple columns from a single child table, it uses correlated subqueries quite heavily and inefficiently.We must be doing different stuff- I was quite impressed by the way aggregates are handled. So can you please provide examples of the inefficient subqueries of which you complain?
As for consensus- people form consensus about lots of things. Most of us expected that WMD would be found in Iraq, for example. In the case of Linq we do have the ability to check the facts for ourselves before forming an opinion, so that's what we should do. IMHO.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1