#linq #master-detail
#linq #master-подробно
Вопрос:
Я хочу запрос Linq, подобный этому:
var q = from order in Order
join detail in Detail on order.OrderId equals detail.OrderId
Это позволяет мне выполнять следующую необязательную фильтрацию, основанную на выборе пользователя :
if (cbxCustomer.Text != string.Empty)
{
q = q.Where(x=>x.CustomerId = (int)cbxCustomer.SelectedItem) // filter based on master
}
if (cbxItem.Text != string.Empty)
{
q = q.Where(x=>x.ItemId = (int)cbxItem.SelectedItem) // filter based on detail
}
результатом должен быть список заказов без дубликатов, который соответствует указанному выше необязательному фильтру.
Спасибо
Ответ №1:
После применения фильтра вам нужно выбрать только Orders, а затем использовать отдельный метод расширения LINQ.