Linq к Объектам: добавление, где условие к дочерним отношениям

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

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

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

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

5
задан Gerrie Schenck 9 February 2010 в 10:13
поделиться

2 ответа

иначе

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
3
ответ дан 14 December 2019 в 19:12
поделиться

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

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
2
ответ дан 14 December 2019 в 19:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: