Having just done a presentation at DevTeach called “.NET 3.5 Data Access Guidance”, which I will be doing again at TechEd in a few weeks and I have a CoDe Magazine article on this topic coming up as well, it is definitely interesting to me to see what is probably the first somewhat official looking (it’s a blog post, not a white paper) guidance from someone at Microsoft about Why to use Entity Framework. Outside of a direct comparison of LINQ to Entities vs LINQ to SQL by Elisa Flasko earlier this year , there hasn’t been a Microsoft white paper on Entity Framework since June 2006. That’s almost 2 years. And that was written when they were first going public with the technology. What Danny is doing here is definitely a first.
In my presentation/article I need to be objective. Granted I am only addressing what’s “in the box” – datasets, LINQ to SQL and EF, not nHibernate/ORMs. And I have to be sure not to lean towards EF, which is difficult not to do since I am so focused on it.
But Danny’s list is definitely right on. He is highlighting the benefits of EF compared to datasets, compared to LINQ to SQL and also compared directly to nHibernate. It’s funny how we (Danny, myself, maybe others) tend to include nHibernate, which has a LOT less users than datasets or LINQ to SQL in these discussions because it is the [relatively] small # of nHibernate users that make the most noise and Danny and I have both been beaten up quite a bit by them, so we now have a natural tendency to be sure to address them at every turn. I think it’s become self-defense measure more than anything else. (I shouldn’t really speak for Danny here, since he may have different reasons. I know that this is true for me, though.)
One thing that I need to do differently than Danny’s post when I do the overall guidance presentation is not just list the places where EF totally outshines the other options, but I also need to address areas where you may prefer the others.
Every time I have done this guidance presentation, I have had someone say to me after the fact, “but I really love typed datasets? Why should I move to EF or LINQ to SQL”. My response to them is that if after seeing my presentation, if there is nothing that was truly compelling to them to want to make the change, then typed datasets are probably just the right choice for them.
Sign up for my newsletter so you don't miss my conference & Pluralsight course announcements!
2 thoughts on “Danny Simmons on “Why use the Entity Framework?” – A must read”
Here’s my main gripe with Danny’s post and all other such posts on EF.Microsoft keeps waxing on about how EF is so much more than an object relational mapper, but in reality it is still so much less than nHibernate, which is the de facto standard for O/R M.So how can it be more when it is less?I understand that Microsoft has a grand vision, but Microsoft always has a grand vision and it only gets realized some of the time.(Need I give countless examples?)Additionally, there are often times when Microsoft’s grand vision doesn’t mesh with the last 20 years of OOP learning and evolution!Why do you think the nHibernate people scream so loud about POCOs (among other things)?Because they know that the rest of the programming world has already learned this lesson and they are terrified that Microsoft is going to make a series of critical mistakes that lead the platform and its developers down a terrifying path.
weblogs.asp.net/…/why-use-the-ent if you could refute Frans’ post.