2010-10-01 7 views
11

In base a questo articolo, si suppone di poterlo fare includendo un'espressione lambda http://romiller.com/2010/07/14/ef-ctp4-tips-tricks-include-with-lambda/.Come usare Includi con Lambda in EF?

Per esempio ...

var blogsWithPosts = context.Blogs.Include(b => b.Posts); 

Allora, dove ho ...

IQueryable<Data.Patient> query = ctx.ObjectContext.Patients 
        .Include("Person"); 

mi piacerebbe farlo essere ...

IQueryable<Data.Patient> query = ctx.ObjectContext.Patients 
        .Include(row => row.Person); 

ho aggiunto il importa per System.Data.Entity ... ma ancora non può farlo accadere. Sto usando Csla, quindi il mio oggetto di contesto è impostato come ...

using (var ctx = Csla.Data.ObjectContextManager<ApplicationEntities>.GetManager(Database.ApplicationConnection, false)) 
{ 
} 

Questo può essere il problema ... Qualsiasi aiuto sarebbe molto apprezzato!

risposta

7

Questo non è un sovraccarico dello standard ObjectQuery<T>.Include Method ed è semplicemente un metodo di estensione sul ObjectQuery<T> Classe venire con EF CTP4.
Per poter utilizzare Includere metodo con lambda è necessario download ADO.NET Entity Framework Feature Community Technology Preview 4 e quindi aggiungere un riferimento a Microsoft.Data.Entity.Ctp.dll venire con esso.

+0

Domanda sciocca ... busto è il CTP4 non incluso con VS 2010? Se no ... da dove posso prenderlo? – mattruma

+0

Sembra che possa essere scaricato qui http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4e094902-aeff-4ee2-a12d-5881d4b0dd3e&displaylang=en – mattruma

+1

No, non è, ha appena pubblicato meno di 2 mesi fa (7/13/2010) e sarà rilasciato ufficialmente come parte di .Net 4.0 SP1 o .Net 5.0. È possibile scaricarlo da: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4e094902-aeff-4ee2-a12d-5881d4b0dd3e&displaylang=en –