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!