views:

596

answers:

3

The initial release of the Entity Framework wasn't regarded well in the development community. Developers felt a number of things were left out, and many continued to use other ORM's, such as LINQ To SQL and NHibernate. The good news, however, is that Microsoft has been hard at work on the 4.0 release of Entity Framework, which will bring with it many fixes, including lazy loading and POCO support. Many believed that the initial release of Entity Framework should have included these features; however, it is certainly comforting to see proof that the Entity Framework team has addressed concerns voiced by the developer community.

Now that Visual Studio 2010 beta 2 has been out for a few weeks, I've been wondering how other developers feel about the next release of Entity Framework. What are your thoughts?

I realize that some people still have negative feelings towards Entity Framework. When answering, the assumption should be that the readers know nothing about alternative ORM's. Please compare and contrast differences with other ORM's. Feel free to bring up areas where an alternative does something better. Also, feel free to mention areas that Entity Framework 4.0 excels.

+1  A: 

Well, at first glance, I didn't even understood the reason for EF's existense. Basically Linq To SQL is doing the same job with much less effort and it supports quite a few things that EF doesn't. Or at least that's the case in .NET 3.5.

In .NET 4, there is a gossip that Linq To SQL, although it remains there, will be sort of discontinued, and only EF will be developed further. (The decision that they chose to develop a flawed system insted of a working one, seems to me a little weird.)

All said, however, EF v4 will be just fine, if it really supports everything it claims to support.

(However, I don't know what advantages does it have over NHibernate, for example.)

Venemo
Linq to SQL is the flawed one actually. Because it can't handle complex mappings and the worst part: it only works with MSSQL. EF has at least the chance of becoming a useful built-in ORM at some point in the future. (Which might be EF4, haven't checked it out)
Robert Giesecke
Yes, it will become a very good ORM in some time, but currently it doesn't support such trivial things like the Contains method or lazy loading.LINQ to SQL isn't flawed, it just doesn't aimed on the same audience as EF.
Venemo
@Venemo, the topic of this post is Entity Framework 4.0, not the one that shipped with .NET 3.5. 4.0 does have lazy loading.
senfo
@senfo: Yeah, I know. However the point of my post was that EF v4 may be very usable, but I have some suspections, because EF v3.5 was far from perfect.However, as soon as EFv4 will arrive, I happily test it.
Venemo
@Venemo you can download the beta now. I've been very impressed with it.
senfo
Sure, I'll give it a try!
Venemo
+2  A: 

Julie Lermann is doing a very good series of post on her blog recently that shows a lot of goodness about EF4. The best I think would be that you go through that blog and build yourself an opinion...

http://thedatafarm.com/Blog/

Stephane
+1  A: 

EF 4 is the version I was expected.
I wasn't really happy about the first release, LinqToSql felt really ahead in those days. Saying that, intern politic fight gave its verdict: L2S is dead...

Between the first versions of these two microsoft ORM, we saw the community blogging a lot about their poor behavior in n-tiers scenarios. So I am not very surprised that the two greatest new features are oriented in this way.

These two new features are totally complementary:

-POCO: induces low-coupled layers but demands some work to handle synchronization between tiers. -Self-Tracking Entities: induces tied-coupled layers but reduces tremendously the amount of code to provide...

For me, the choice is made. I would never choose productivity over healthy design.
Let's rock for POCO !

Roubachof
Well uh, I would never choose productivity over healthy design, but my boss could !
Roubachof