Mutilevel включить в C # Linq - PullRequest
       31

Mutilevel включить в C # Linq

4 голосов
/ 05 января 2012

Я хочу, чтобы MULTILEVEL включался в мою оценку linq, что-то вроде

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

Как мне это сделать?

Спасибо

Ответы [ 4 ]

15 голосов
/ 05 января 2012

Вы, конечно, можете использовать лямбда-выражения, но вы должны использовать специальный формат:

var a = departments.Include(d => d.Customers.Select(c => c.Orders));
7 голосов
/ 05 января 2012

Это должно сработать:

departments.Include("Customers.Orders");

Очевидно, что вы больше не можете использовать лямбда-выражение.

ср. документация здесь: http://msdn.microsoft.com/en-us/library/bb738708.aspx

2 голосов
/ 05 января 2012

[Джероен был быстрее, но лямбда в порядке, я думаю ...]

Не должно быть проблемой. Для структуры сущностей без прокси мы используем:

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

/ Victor

0 голосов
/ 05 января 2012

Вы можете указать, какие вложенные объекты должны быть получены при выполнении запроса, используя метод LoadWith .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...