我有一张桌子
我想只抓住所有行的status = 1的客户。所以在这个例子中它只会抓住John,因为Bob的状态= 2表示一条记录。
我想在linq c#中这样做。我是否需要首先为所有客户分组?然后有另一个查询来检查它是否包含<> 2然后打印出来?
什么是正确的方法?
答案 0 :(得分:1)
class Customer
{
public string Name { get; set; }
public int Status { get; set; }
}
你想要:
var names = customers.GroupBy(c => c.Name)
.Where(c => c.All(cc => cc.Status == 1))
.Select(c => c.Key)
.ToList();
Status
= 1 答案 1 :(得分:0)
var data = customers.where(c => c.status!= 2).select(c => c.Customer).Tolist()。distnict();