linq检查列表中是否存在值

时间:2012-07-26 19:17:50

标签: linq group-by

我正在尝试使用多个列对我的表进行分组,并检查分组计数是否等于2.我的查询是否适用于此部分

var query = from product in Products
            group by new { product.Product, product.Location, product.Customer } into grp
            where grp.Count() != 2

产品有另一个属性类别,它只能有两个值“High”& “低”。 除分组计数外,如何更改此查询以处理“类别”检查。

Product    Location   Customer    Category
  A           X         C1          High
  A           X         C1          Low
  A           Y         C1          High
  A           Y         C1          Low
  A           Y         C1          Low
  B           X         C1          High
  B           X         C1          Medium

在上面的示例中,除了位置X和客户C1处的产品A,所有其他记录都无效。位置Y有两个低,产品B有一个类别中,不属于列表:高和低;低。

1 个答案:

答案 0 :(得分:0)

如果您只想包含特定类别,请使用where ..表达式:

var query = from product in Products
            where product.Category == "Low" || product.Category == "High"
            group ...