过滤基于master和detail如何?

时间:2011-06-02 07:04:47

标签: linq master detail

我想要一个像这样的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 个答案:

答案 0 :(得分:0)

应用过滤器后,您只需选择Orders而不是使用Distinct LINQ扩展方法。