【发布时间】:2012-01-05 12:36:43
【问题描述】:
我想在我的 linq 语句中包含 MULTILEVEL,类似于
var a = departments.include(u=>u.Customers)
.include(u=>u.Customers.Include(u=>u.Orders);
我该怎么做?
谢谢
【问题讨论】:
标签: c# linq entity-framework-4.1
我想在我的 linq 语句中包含 MULTILEVEL,类似于
var a = departments.include(u=>u.Customers)
.include(u=>u.Customers.Include(u=>u.Orders);
我该怎么做?
谢谢
【问题讨论】:
标签: c# linq entity-framework-4.1
你当然可以使用 lambda 表达式,但你必须使用特殊格式:
var a = departments.Include(d => d.Customers.Select(c => c.Orders));
【讨论】:
这应该可以解决问题:
departments.Include("Customers.Orders");
显然你不能再使用 lambda 表达式了。
参见。此处的文档:http://msdn.microsoft.com/en-us/library/bb738708.aspx
【讨论】:
[Jeroenh 更快,但我认为 lambda 还可以...]
应该不是问题。对于没有代理的实体框架,我们使用:
var a=departments.Include("Customers.Orders").Single(dept => dept.Customers.Id == id);
/维克多
【讨论】:
您可以使用LoadWith 方法指定在执行查询时要检索哪些嵌套对象。
【讨论】: