我正在尝试获取Class属性等于selectedIClassesList中的一个值的所有资产;
这样的事情:
from x in Assets where selectedIClassesList.Contains(x.Class) select x
答案 0 :(得分:3)
你可以加入......
var query = from a in Assets
join s in selectedClassesList on a.Class equals s
select a;
答案 1 :(得分:2)
Assets.Where(x=>selectedIClassesList.Contains(x.Class));
答案 2 :(得分:0)
如果我理解正确,你的问题是IClassesList没有contains方法吗?如果IClassesList是与x.Class相同类型的对象的IEnumerable,那么这应该可行。
from x in Assets where selectedIClassesList.Any(s => s == x.Class) select x
为了获得更好的性能,你最好创建一个字典。
var selectedClassesDict = selectedIClassesList.ToDictionary(s => s);
var selectedAssets = from a in Assets
where selectedClassesDict.ContainsKey(a.Class)
select a;