Фильтр на основе master и подробно, как это сделать?

#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.