Linq to Entities: добавление условия where к дочерним отношениям - PullRequest
5 голосов
/ 09 февраля 2010

Например, у меня есть список клиентов, у каждого из которых есть список заказов. Теперь я хочу получить список всех клиентов с неоплаченными заказами (скажем, это статус 2). Вместе с этим списком клиентов я хочу также иметь список неоплаченных заказов.

Например, у меня есть это:

from c in mycontext.Customers.Include("Orders")
select c

Где или как добавить условие поиска заказов со статусом == 2 и как включить эти заказы в список клиентов?

Ответы [ 2 ]

3 голосов
/ 09 февраля 2010

в противном случае

from c in mycontext.Customers.Include("Orders")
where c.Orders.Any(order => order.status == 2)
select c

или

from c in mycontext.Customers.Include("Orders")
let newObject = {
    Customer = c,
    NotPaidOrders = c.Orders.Where(order => order.status == 2).ToList()
}
where newObject.NotPaidOrders.Any()
select newObject
2 голосов
/ 09 февраля 2010

Попробуйте это:

from c in mycontext.Customers.Include("Orders")
from order in c.Orders
where order.status == 2
select order

Или почему бы просто не сделать это:

from order in mycontext.Orders
where order.status == 2
select order
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...