示例对象
public class Car
{
public int Doors { get; set; }
public int Wheels { get; set; }
}
查找与列表匹配的所有汽车:
var list = new[] { 3, 4 };
var result = Db.Cars.Where( c => list.Contains(c.Doors) );
如何查找所有与车门和车轮的组合相匹配的车辆?我试过了:
var combinations = new[] { new Comb { Doors = 1, Wheels = 2 }, new Comb { doors = 5, wheels = 4 } };
var result = Db.Cars.Where( c => combinations.Contains(new Comb { Doors = c.Doors, Wheels = c.Wheels }) ) );
但当然这不起作用,给出以下错误:
无法创建“Example.Comb”类型的常量值。在此上下文中仅支持原始类型或枚举类型。
还有其他办法吗?
重要的是,组合的数量是未知的。
答案 0 :(得分:0)
var result = Db.Cars.Where(c=>combinations.Any(comb=>comb.Doors==c.Doors && comb.Wheels==c.Wheels));