Most of you probably know that the Entity Framework architects made a very conscious decision to make all trips to the database explicit.
The result is that this:
Person mother = person.Mother;
will return null, even if the person has a Mother, unless you either eager load (using Include) or explicitly load using Reference.Load();
i.e.
person.MotherReference.Load(); Person mother = person.Mother;
Still there are a lot of people out there who want true Lazy Loading. Which is possible but not easy today.
In steps my crazy colleague Jarek.
Jarek has put together a very interesting project that uses the EF's custom entity interfaces (i.e. IPoco) and some pretty cool magic to do lazyloading... among other things.
Do you think I think you should look at it?
If not, then just to be clear: take a look at this.