The Entity Framework Team are Real Professionals

June 27th, 2008

You have to hand it to these people: they sure have to put up with a lot of crap. I’m also guilty as charged for this. I already wrote about a lack of real-world usability and best practices in the past.

You probably heard about the ADO.NET Entity Framework Vote of No Confidence. The moment this went online, I signed it without any hesitation. I still believe that version 1.0 of the EF stinks badly compared to NHibernate. NHibernate allows me to write maintainable applications without sacrificing OO programming, and it will be far more superior for a long time to come. I agree that a first version of anything isn’t feature complete, but it should support at least a couple of basic OO principles.

At first, I didn’t want to blog about this until I read Chad’s post. He mentions this blog post by Kathleen Dollard that made me scratch my head for a while. It’s not the general insulting tone of the entire post that sets me off, but rather the following sentence somewhere in the middle of her post:

 EF is not a failure because it has a poor strategy for merging into source control

How on earth can you put something like this on your blog and still call yourself a professional developer? Source control is not negotiable.Period! If a tool doesn’t allow me to use source control, then it’s bye, bye baby! I thought we were past this by now? I guess not, so I will repeat this for the last time: you can’t deliver maintainable software without proper source control in place!.

Regarding the data-driven approach vs the OO approach: those VB6 days are over! Wake up and smell the roses. I never witnessed an OO approach to fail in my eight years as a developer. Maybe I’m lucky. I don’t know. What I do know is that a data-driven approach fails miserably every single time it’s used in a software project of any size larger than an ant. Transaction scripts don’t handle code duplication well, they violate separation of concerns and are a major disabler for loosely coupled (aka maintainable) applications.

Anyhow, back to the title of this post. The EF team has been very open about all this. Daniel Simmons announced the EF Advisory Council and the team responded in a real constructive way to the "Vote of No Confidence" by setting up this blog about the future design of the Entity Framework. These are some of the first positive signs that they are setting themselves up for success.

  • http://www.msmvps.com/blogs/kathleen Kathleen Dollard

    Of course source control is a non-negotiable.

    EF does not exclude the use of source control. It makes it difficult because of more frequent collisions than desirable.

    The list you quoted from is my summary of the vote of not confidence petition, stating my opinion that none of these things make EF a faiure.

    Data-centric designs in the sense of EF and VB6 are quite different animals as I’m sure you’re aware. Mapping is a non-negotiable. EF provides it, although it clearly has issues.

    Metadata is a point of source control collisions. That’s not an easy problem to solve.

    Kathleen

  • http://elegantcode.com Jan Van Ryswyck

    If the EF makes it difficult, then its most certainly not encouraging source control. If source control is difficult to use with a certain technology, then developers tend to go with the technology and not source-control.

    I’ve seen this happen with Microsoft Dynamics. Same story there. Instead of ditching the technology, source control got thrown away. If this is what we get from Redmond after 30 years of IT evolution, then it’s simply unacceptable.

    Then for me the EF practically excludes source control this way. Why is it then that numerous other ORM solutions out there can get this one right from the first time. As I mentioned in my post, it’s simply a matter of getting the priorities straight. Supporting OO principles and source control are one of those priorities, otherwise it is a useless piece of technology.

    I can only recommend to step outside the narrow Microsoft vision, and have a look at other solutions like NHibernate, IBatis or another non-intrusive data solution. When I mean that the EF team are real professionals, then I also mean that the NHibernate contributors are gods!

    I want to say kudos the people who started this whole “vote of no confidence” initiave. They are the ones who aknowledge that something has to change in the .NET space, especially regarding some Microsoft products. The ALT.NET community are the only ones I know of. So instead of bashing this initiave, lets improve the way we want to write software for a change.

  • Pingback: Dew Drop - June 29, 2008 | Alvin Ashcraft's Morning Dew

  • David Fauber

    “I distrust with the concept that anyone who hasn’t experienced something just can’t get it.”

    That was my favorite, sounds like the project manager mantra. But hey, they probably stayed at Holiday Inn last night.

  • Szindbad

    oh, man. The same version control issue arises with project file (metadata), solution file (metadata), resources (resx, metadata), statically typed datasets (metadata).

    Now you can scream and jump!

  • Szindbad

    … ah forgot some: Workflow designer files, Winforms designer outputs, binary resources (pictures), office documents (!), pdfs, application configurations, class designer files, reports, stylesheets, etc.

    I simply agree with you, i will simply not use any of these becasue issues with version control.