New features in Entity Framework?
The Entity Framework has a new version, but I wanted to talk about the list of new features that they published (edited for brevity)
Some of the new features include IPOCO, support for referential integrity constraints, transactions, spans, serialization...
I have no idea why IPOCO is, I can make some assumptions, like this is an interface that a POCO class needs to implement, but by doing this, it is no longer POCO.
Referential integrity constraints, transactions and serialization are new features?
I may be missing the boat here, but transactions as a new feature for an OR/M seems like a huge issue to me. The rest is just as puzzling. I am debating whatever this is a WTF or just another case of "Let us use a widely known term to mean something completely different"...
Update: Looks like there are much better descriptions of it here, which makes more sense. Looks like "span" is the EF name for eager loading, and it is surprising that it is only appearing now.
I spoke to the EF team at Tech Ed about eager loading. The devs were sympathetic to this request, but the architects wanted a purity that says that the EF doesn't do anything the user doesn't explicitly request. It looks like they have reached a compromise.
Don't you mean (automatic) lazy loading rather than eager loading? Spans for eager loading are quite explicit, whereas automatic lazy loading is not.
ROFL @ IPOCO ! :-)
Takes me back to my first mapper...it was, I realize now, a CGBCIMCPOCO (Code Generated, Base Class using, Interface weilding, Multiple Conventions based POCO..)
Well... It is a "new" framework.
I am waiting for the time when they start (heavily) refactoring :)
I would have created something more subtle:
public class Foo : ImNotReallyABaseClassSoIgnoreMe
Hmm cute, does it play MP3's?
Anders seems to have prompted a clarification from Daniel Simmons ... http://andersnoras.com/blogs/anoras/archive/2007/07/03/ipoco.aspx
Indeed, IPOCO is "Interface Plain Old CLR Objects" /boggle
term "Span" for eager loading is also used in "Neo" ORM tool.
It is used often inside NHibernate as well, but there is means the amount of columns / tables that a value / entity needs
@Mats You are correct. Thanks for putting me straight.