Entity Framework - Is the sky really falling?
|
The .NET blogosphere is abuzz with the latest attempt of the ALT.NET community to express their distaste for the upcoming release of ADO.NET Entity Framework. This has been an ongoing "discussion" between proponents of Domain Driven Design, most notably and aggressively from users of nHibernate who hope to see Entity Framework evolve into a thing of beauty from their perspective. The current version (v1) of Entity Framework does not support many of the needs of Domain developers - for example, implicit lazy loading, Persistence Ignorance or Test Driven Developers - Unit Testing, source control of the model and more. You can read the full list aired in the no-confidence vote that was started a few days ago and now has all of 217 votes. Compare that to the 13,500 signatures on the last notable petition to Microsoft hat got some attention... It may be an unfair comparision, since the VB6 petision has now been around for 3 years and there's no way of knowing how quickly the list of signatories grew. During the implementation of the current version of Entity Framework, these ideas have been listened to and embraced by the Entity Framework team, but as Tim Mallalieu, EF Program Manager, says in his blog The unfortunate reality is that these are scenarios that we care deeply about but do not fully support in V1.0. I can go into some more detail here. One point to note is that the choices on these features were heavily considered, but we had to deal with the tension between trying to add more features vs. trying to stay true to our initial goal which was to lay the core foundation for a multiple-release strategy for building out a broader data platform offering. While the folks behind this latest rant have ranted all along, this seems to be an attempt to formalize and get some notice for their complaints. While all of the things they don't like about Entity Framework are completely reasonable, what is wrong about this petition is that it is claiming that the sky is falling. Between the words in the petition and the follow up in blog posts by those who have signed, they seem to be saying that if you adopt Entity Framework v1, you will destroy your applications, possibly your business and take the evolutionary gains in programming backwards in time. Seems a little over-zealous to me. I have spent a lot of time trying to learn Entity Framework and trying to share what I have learned. In many respects, it's true that not every aspect of it EF is easy to use which is why I'm writing a book. So naturally, I have been watching the repercussions from this dialog. While there are many and you can find some of them easily with this bloglines search, there are a few rebuttals that I want to highlight: Kathleen Dollard, a Microsoft MVP of many years and one of the best minds in our business, reminds us that just because Entity Framework does not do all of the things that the petition says it should do, this does not make it a failure. She goes on to say that a product should not be designed as a reply to those who scream the loudest and highlights the IPOCO implementation which was an attempt to get something into v1 to satisfy this small group. Jimmy Nilsson refers to IPOCO as an anti-Persistence Ignorance implementation. Ward Bell, Product Manager for IdeaBlade's DevForce, which has a new version built on top on Entity Framework, says he is "hopping mad" and follows with a long list of counterpoints. Interesting discussion in the comments as well. Roger "Take-No-Prisoners" Jennings takes the petitioners to task with historical references and his usual thorough coverage in this great post: Tim Mallalieu Addresses "ADO .NET Entity Framework Vote of No Confidence" Manifesto. Roger's blog is generally a great place to keep track of any and every discussion of Entity Framework, LINQ to SQL and other data related information, since he makes a point of collecting, listing and analyzing all of the information. There's a lot more going on and I'm watching with interest, while at the same time trying to continue writing my Entity Framework book because EF is being released shortly (along with VS2008 Service Pack 1) and there will be plenty of people using it (much to the horror of the petitioners) and they will need to know how! |

