如何在EF中使用Include with Lambda?

mat*_*uma 11 csla entity-framework

根据这篇文章,你可以做到包括使用lambda表达式http://romiller.com/2010/07/14/ef-ctp4-tips-tricks-include-with-lambda/.

例如 ...

var blogsWithPosts = context.Blogs.Include(b => b.Posts);
Run Code Online (Sandbox Code Playgroud)

所以,我有......

IQueryable<Data.Patient> query = ctx.ObjectContext.Patients
                    .Include("Person");
Run Code Online (Sandbox Code Playgroud)

我想拥有它......

 IQueryable<Data.Patient> query = ctx.ObjectContext.Patients
                    .Include(row => row.Person);
Run Code Online (Sandbox Code Playgroud)

我添加了System.Data.Entity的导入...但仍然无法实现.我正在使用Csla,所以我的上下文对象设置为...

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

这可能是问题...任何帮助将不胜感激!

Mor*_*avi 7

这不是标准ObjectQuery <T> .Include方法的重载,而只是与EF CTP4一起使用的ObjectQuery <T>类的扩展方法. 为了使用包含 lambda的方法,您需要下载ADO.NET实体框架功能社区技术预览版4,然后添加对随附的Microsoft.Data.Entity.Ctp.dll的引用.