Dave Laribee

Sponsors

The Lounge

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Entity Framework: Our Albatross

Looks like another Entity Framework barfight! Hell, I'll join the fray started by Jeremy. I feel compelled given that I'm part of the NHibernate Mafia.

Ah! Well a-day! What evil looks
Had I from old and young!
Instead of the cross, the Albatross
About my neck was hung.

The Entity Framework is the Albatross of ALT.NET. We're forever doomed in podcasts (two I've been on have devolved into this rat hole), blogs, and twitter to have to rail against the machine that is the EF. Let's work toward an elevator pitch, explain why we won't use it, don't believe it will work, and get the hell on with our lives.

I remember being in Redmond at the original meeting. Yes it's true that this is the genesis of all this ALT.NET business, but come on! There's more to it than NHibernate vs. EF, but we keep coming back to this same, tired subject.

I made an observation that EF (back then "LINQ to Entities") isn't an ORM way, way back:

...EDM (Entity Data Model) is a logical representation of a data model. The framework will permit various “services” to be attached to this model such as domain objects/models containing behavior (which is what we want to test and test-drive after all) replete with LINQ queries, reports, mock and test data generation, entity aggregation type service endpoints, etc.

Ah... the youthful exuberance of past me (March, 2007). Clearly this is very initial analysis on a beta of a beta of a beta, which is to say: not very deep. I'll admit it. But there's an initial flame of recognition in there.

An ORM can't be a mere facility to a "data platform." Platforms are old school, we're buckling under the weight of cumbersome frameworks and the myriad scaffolding needed to get an app running on a platform. The Java folks are headed toward MicroKernel architectures and we see this evolution starting in the lightweight containers that tend to germinate as IoC tools. Pick your flavor. So now we're talking platform?! Why on earth would we start with bloat?

Furthermore and perhaps more immediately, Jimmy Bogard hits the bell with a sledge hammer:

I think it's a mistake to share a data model with anyone outside your bounded context (see Evans, Domain-Driven Design). It's also a mistake to share a conceptual model or a EDM or whatever we're calling this.

This is an enterprise architect's vision. All that time enterprise architects are thinking about the single platform to rule them all, well they should consider more how their production lines (e.g. teams in a lean sense) are organized and how to achieve flow, pull, leveling, etc.

Silver bullets are, in fact, an illusion. We learned this long ago. Let's refresh our memories and move on.

Okay?


Posted Mon, May 19 2008 8:12 PM by Dave Laribee

[Advertisement]

Comments

Alan Stevens wrote re: Entity Framework: Our Albatross
on Mon, May 19 2008 8:58 PM

Well said, my friend. You should rant more often. ;-)

++Alan

DotNetKicks.com wrote Entity Framework: Our Albatross
on Mon, May 19 2008 11:01 PM

You've been kicked (a good thing) - Trackback from DotNetKicks.com

Greg wrote re: Entity Framework: Our Albatross
on Mon, May 19 2008 11:07 PM

Trackbacks apparently not working so I put one manually

Liam McLennan wrote re: Entity Framework: Our Albatross
on Tue, May 20 2008 12:01 AM

Should the Fred Brooks link be en.wikipedia.org/.../No_silver_bullet ?

Evan Hoff, Professional Code Junkie wrote On Comparing Current Tools to Futureware
on Tue, May 20 2008 12:55 AM

I'm going to take a quote from Daniel Simmons on why we should use the Entity Framework . I'm

The Inquisitive Coder » Blog Archive » More Entity Framework stuff wrote The Inquisitive Coder » Blog Archive » More Entity Framework stuff
on Tue, May 20 2008 4:09 AM

Pingback from  The Inquisitive Coder  » Blog Archive   » More Entity Framework stuff

Dave Laribee wrote re: Entity Framework: Our Albatross
on Tue, May 20 2008 7:13 AM

@Liam - That's where I was trying to point (No Silver Bullet). Thanks for the heads up and it's fixed!

Dew Drop - May 20, 2008 | Alvin Ashcraft's Morning Dew wrote Dew Drop - May 20, 2008 | Alvin Ashcraft's Morning Dew
on Tue, May 20 2008 12:31 PM

Pingback from  Dew Drop - May 20, 2008 | Alvin Ashcraft's Morning Dew

Wöchentliche Rundablage: ASP.NET MVC, Silverlight 2, C#, Entity Framework, WPF, Javascript | Code-Inside Blog wrote Wöchentliche Rundablage: ASP.NET MVC, Silverlight 2, C#, Entity Framework, WPF, Javascript | Code-Inside Blog
on Mon, May 26 2008 4:30 PM

Pingback from  Wöchentliche Rundablage: ASP.NET MVC, Silverlight 2, C#, Entity Framework, WPF, Javascript | Code-Inside Blog

Weekly Links: ASP.NET MVC, Silverlight 2, C#, Entity Framework, WPF, Javascript | Code-Inside Blog International wrote Weekly Links: ASP.NET MVC, Silverlight 2, C#, Entity Framework, WPF, Javascript | Code-Inside Blog International
on Mon, May 26 2008 4:31 PM

Pingback from  Weekly Links: ASP.NET MVC, Silverlight 2, C#, Entity Framework, WPF, Javascript | Code-Inside Blog International

EF Long Term Plans | Developer Home wrote EF Long Term Plans | Developer Home
on Tue, May 27 2008 2:02 PM

Pingback from  EF Long Term Plans | Developer Home

Entity Framework: Our Albatross wrote Entity Framework: Our Albatross
on Mon, Jul 7 2008 3:41 PM

Pingback from  Entity Framework: Our Albatross

Top 10 .NET News Stories of 2008 wrote Top 10 .NET News Stories of 2008
on Fri, Dec 19 2008 12:10 PM

Pingback from  Top 10 .NET News Stories of 2008

Add a Comment

(required)  
(optional)
(required)  
Remember Me?