C# Linq中的多级包含问题

5

我希望在我的linq语句中使用多级包含,类似于:

var a = departments.include(u=>u.Customers)
                   .include(u=>u.Customers.Include(u=>u.Orders);

我应该怎样做呢?

谢谢。

4个回答

17

当然可以使用lambda表达式,但必须使用特定的格式:

var a = departments.Include(d => d.Customers.Select(c => c.Orders));

我已经接受了jeroenh的答案,但我从未喜欢过静态字符串,你的回答非常棒。非常感谢! - Manvinder

7

我们可以使用lambda运算符与Include http://tomlev2.wordpress.com/2010/10/03/entity-framework-using-include-with-lambda-expressions/。 - Manvinder

2

[Jeroenh 比较快,但我认为 lambda 也可以...]

不应该是问题。对于没有代理的实体框架,我们使用:

var a=departments.Include("Customers.Orders").Single(dept => dept.Customers.Id == id);

/维克多


0

您可以使用LoadWith方法指定在查询执行时要检索哪些嵌套对象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接