Friday, May 23, 2008

CONDG Entity Framework Presentation Follow-ups

Thanks to everyone who came out last night (73...a great showing considering the start of Memorial Day weekend and the Indiana Jones IV opening) to CONDG for my Entity Framework presentation. We had some great questions I didn't know the answers to which I'll investigate and respond to soon.
  • Is there a caching mechanism for ObjectContext? Thinking of this in a web (ASP.NET), disconnected between request/response environment.
  • Is the conceptual, mapping, and schema XML loaded up all at once or is the XML representing entities loaded up individually upon instantiation / use?
  • The EF wizard interrogates the physical data store and produces the 1:1, Type per Table initial EDM. Is it possible to model the EDM first leveraging it to generate the physical schema?
  • Referring to this performance comparison between the traditional Sql Client, Entity SQL, and LINQ to Entities, what's the break-down of time consumed?
    • The ADO.NET team posted a follow-up with the break-down here. Granted, it's beta3 bits but there is some fascinating insight into the innards of EF on this post. Here is the final installment of posts on performance.
  • (I responded to this one but want to delve in further...) Are transactions built into EF and the ObjectContext? Is the ObjectContext transaction-aware?
  • Is the EF and ObjectContext interface based? Meaning, can I leverage a mock testing framework to unit test my EDM?
  • Clarification on lazy loading in EF. Thanks to Kevin Sprague for correcting me on how NHibernate handles both lazy and eager loading.
    • I can't state it any better than the EF FAQ. Lazy loading is the default but eager loading is supported on a query-by-query basis. One needs to explicitly call Load (or Include) to pull related entities into the object graph. Related postings on lazy loading here, here and here.

No comments: