Another Entity Framework opinion
I run across this post, which I found interesting:
If someone give me a set of classes that doesn't bring a A to Z solution to a problem, sorry but I don't call it a Framework ... I call it a Base Class Library. I've been very supportive to the Entity Framework Team (I gave design feedback through multiple channels) but now I think I'm done.
This resonate very well with what Udi Dahan has said as a comment to Frans' post.
Microsoft is a platform company.
They build technologies that partners can build stuff on top of.
It's what they've always done.
It's what they're continuing to do.
Unfortunately, many developers in the Microsoft community don't know/understand this, thinking that these technologies are supposed to be used to build applications directly. This often causes overly complex codebases.
The EF's team's decision is consistent with providing a platform for partners to build their own ORMs on.
That being said, I don't care very much for a platform - just as I wouldn't drive the chassis of a car.
Comments
The only problem I have with Udi's comment is that I don't believe it is the case. .NET is platform, but MS has consistently put it's partners out of business by offering things out of the box. They did it in the past and doing it now with consistent improvements in the IDE that hurt Resharper (and a little CodeRush, except they are partnering with them). The Entity Framework is the same thing. Right now that's their excuse, they'll leave it to the developer. Eventually they'll make it another ORM.
The vast majority of developers think like the original poster (the A to Z solution). And MS wants to make sure they are happy. This is the eternal not thinking outside of the box attitude.
At what point do you call a bcl a framework? generally a framework is also its own bcl, and how many concrete a-b classes do you need? what about defaults? does a framework need defaults?
I couldn't agree more with it. But it's no secret at all. Look at new technology names - Workflow Foundation, Presentation Foundation, Communication Foundation.... It's what the name says - a foundation. You can use it for building GUI, communication or workflows, but you'll have to do everything above the foundation yourself, and it will be lots of work until you finish the roof.
@John: the thing is, I think, that MS isn't going for the goal to write just another O/R mapper, what they're striving for is a platform that can be integrated into sqlserver so one can easier communicate with data from OO code in .NET by using sqlserver than another database system. Mind you: they don't make money on EF, they make money on selling sqlserver licenses.
That's also why I think Oracle (and also IBM) are seriously slacking in EF adoption: by supporting EF, they'll contribute to the chance that EF will be a success and therefore it will hurt them in the long run. What Oracle and IBM want, I think, is that EF fails so oracle and IBM stay viable solutions for data in the .NET world.
Thats a very good point, but if this is the case, then maybe they should consider calling it the Entity Platform and not the Entity framework.
This is a common cause for confusion in the MS realm, beginners are led to believe that the platform is rich enough where a framework will not be necessary.
Comment preview