ADO.NET Entity Framework cut from .NET 3.5/Orcas.

First, read the announcement here.

Had that deja-vu yet? Me too . But let's not get into that right now, because I do think the Entity Framework situation is different from the WinFS/ObjectSpaces situation. So what's going on here?

The following is my speculation why they've cut it from .NET 3.5/Orcas. It's by no means based on any news from MS other than the announcement I linked above and some Sunday-morning reasoning. . I of course might completely miss the point, and likely will, so don't forget: it's just speculation.

The announcement speaks about Microsoft building applications on top of Entity Framework and also that the Entity Framework is moving towards SqlServer. Now, if you can add 1 and 1 together, you of course realize that if you have an application, say Sharepoint vNext, build on top of Entity Framework and you have one of your major cash cows SqlServer enabled with Entity Framework, you have a combination to earn more money: people who want the next version of your application also want your new database system.

The Entity Framework in ADO.NET vNext was designed to be database independent, and it might still be database independent when it eventually ships (I personally don't believe their H1 2008 mark). If you have one of your other major cash cows, say Sharepoint vNext, build on top of ADO.NET vNext, you then open up the road to host Sharepoint on say Oracle, DB2 or an open source database. This then would alienate one of your other cash cow products, SqlServer which will have the Entity Framework build-in.

If you were a manager at Microsoft, which earns $4 billion every 3 months with selling software build around this same strategy of product A triggers a sale for product B and vice versa, would you decide to keep ADO.NET vNext inside .NET 3.5 / Orcas? Which then would open the door to Oracle / DB2 for customers of your applications build on top of ADO.NET vNext ? No, I don't think you would keep it inside ADO.NET vNext.

For a technology so complex as the Entity Framework, it takes a long time to gain momentum, to get that critical mass of users so you can say: 'This technology is successful'. Some people, and I agree with them, have said that it's critical for the Entity Framework to be in .NET 3.5 / Orcas with a solid designer to gain initial ground to get the ball rolling towards that momentum. Releasing an add-on afterwards is not going to cut it, as it's then not on everyone's machine. I simply can't imagine Microsoft doesn't realize this too so there must be a solid reason why they cut it from Orcas / .NET 3.5.

Ah, of course, the designer, which wasn't ready on time, that must be the real reason, does it not? Let me tell you this: a company which earns (so that's the money you get in your pocket) more than $12 billion a year, a company which owns the toolmaker Visio so there's a massive amount of diagramming/designing experience in-house, more than anywhere else on the planet, a company which employs one of the most brilliant relational model orienteed people of all time, prof. T.A. Halpin, a company which already does have an entity designer build into Visio for a couple of years (start an ORM/NIAM model, and you see what I'm talking about), a company which, with prof Halpin who was one of the founders of ORM/NIAM, could extend that model towards the entity model easily, that company isn't able to produce a designer for the Entity Framework in a 2-3 years timeframe?

And you buy that story? If you do, the store around the corner has some nice pink elephants on sale, but you have to hurry, there are just a few left.

Update Apparently prof. Halpin doesn't work at Microsoft anymore.


  • I love your cynical view on MS ;)

    Although in this case I keep my hopes up. Looking at the history of EF I think that this is something the ADO.NET team started on their own and it just lately has grown and become apparent for other divisions inside Microsoft what they were doing. That in combination of the massive negative feedback they got, would at least have given me cold fetes.

    The point about it being "an add-on to 3.5" is really valid though. Places where you don't have managed desktops you will get to ship the bits with your own install. A bit annoying.

  • Don't let the huge cashflow fool you. We are talking about the company which failed to build a sidebar in Windows Vista for which you can easily create gadgets using Windows Presentation Foundation. An OS that was more than three years in the making. Giving the "Avalon" technology such a majestic name amplified the failure. This failure can not be explained by Microsoft not wanting to kill their cashcow.

  • I was really getting into Object Role Modeling a while back before I knew about Object Relational Mapping and even exchanged a few emails with Terry Halpin, but then he left Microsoft and went to start up a data modeling university curriculum with Joe Celko about 4 years ago I believe. I have since stopped using Object Role Modeling, and I believe the tool support has grown stagnant, although a quick google shows that Terry is trying to get some new tool support going again.

  • @Patrik: Heh I'm not cyincal, just realistic ;). Since the MVP summit I totally had it with the phrase 'lack of resources'.

    Having to install the add-on isn't the biggest issue I think, you have to have an installer anyway. What's the biggest issue is that most devvers won't have any notion that EF is released, because all they know about is MSDN and the orcas release on their HDD's.

    @Erwyn: heh Ok, good point :)

    @Oran: I didn't know Halpin left MS! I'll update my post.

    Object Role Modelling is IMHO still the best way to design entities, but it's indeed sad that the tool support isn't that huge.

  • Frans, I agree this is not the case of ObjectSpaces and WinFS, but let me politely dispute some of your other points:

    First, you cannot just add cash to a software project and make it better or faster: As far as I know, only limited tooling was scheduled for the first iteration of the Entity Framework, so they did not start working on a full fledged designer on time. I am glad that the ADO.NET team went out to get feedback and that customers made clear what they needs are. Second, I don’t think anyone at Microsoft would invest in anything but a DSL based designer, so Visio was probably out of the question. Moreover, while Dr. Terry Halpin’s work is brilliant, I don’t see the masses using Object-role Modeling diagrams today. Would you like to make learning NIAM/ORM a requirements to use LLBLGen?

  • @Oran: Celko and Halpin? What a pair!

  • Yes, I'm pretty sure you hit the nail on the head with this one. I'm *hoping* though that they have had enough negative feedback that whoever is behind the rudder on that massive ship has at least had an eyeopener (forwhat we, the customers, want in an ORM). For the forseeable future (including 3.5), I'll be sticking with NH. It's really what I want, and it's production quality *right now*. I'm tired of building data driven goo.

  • > Would you like to make learning NIAM/ORM a requirements to use LLBLGen?

    No, though I do assume that the existing datamodel is a result of a transformation of a relational model to a datamodel in some way or another, so there IS a theoretical base for the data model as it is.

    Personally I would like to see more people would learn NIAM/ORM, as it's a great technique to get a good overview of entities in your domain.

  • Disclaimer, extraordinarily fuzzy calculations follow:

    By the estimates that I have heard, Microsoft has 70,000 employees with a program manager / developer ratio of 10 to 1. Tester / developer ration of 1 to 1. I have no idea how many "other" employees they have in marketing and sales, etc...

    Still, that would mean significantly less than 3,500 developers spread over their entire product line. That's still a lot of developers but they have a huge product line. Maybe they _are_ resource bound?

Comments have been disabled for this content.