How I learned to stop worrying and write my own ORM
samsaffron.com
samsaffron.com
An interesting example is how the Entity Framework is actually slower than LINQ-to-SQL, which came before it. It's bizarre that they'd design EF to not reuse the same DB connection for multiple queries, or to cache the output of dynamically generated methods.
It's not in MS interest to spend too much time optimising for these niche cases. That's time NOT spent adding features to attract more paying customers. It's better to optimise for revenue.
I'm not saying MS doesn't care about performance, of course they do. I'm also not saying the stack is poor. You just have to see it though the lens of their business model.
The "performance" is transferred to the developer by creating higher level frameworks. Because these frameworks have to be general, they can't optimize for every use case.
Node.js is a somewhat decent example of this principle at work.
Of note here, is that nHibernate, one of the strongest ORMs for .NET (and basically what EF is attempting to copy features from) was not even mentioned or considered. It's this whole "but there's open source in there, it might touch me" attitude I find ridiculous.
Obviously I'm making assumptions here, but any discussion of ORM in .NET that doesn't even bring up nHibernate is suspect to me.