我的一般结果包含不同的列,包括 id 列。我还有一个List
,其中包含一组 id 。我希望获得List
项(ID)与 Id 列值匹配的结果。
我尝试在循环中执行此操作:
foreach(int Uid in idList)
{
queryResults = queryResults.Where(security => security.id== Uid);
}
但是这给了我 queryResults 中的单个记录,这是针对List中的最后一个 Uid 。我想要的是,列表中所有 Uid 的记录应该在 queryResults 中。
答案 0 :(得分:7)
您需要将每个项目的ID与idList
中存储的ID相匹配。这可以通过Where
上使用的queryResult
- 扩展程序与Contains
上使用的idList
方法结合使用来实现:
var idList = new List<int>{1, 2, 3, 4} // This is your list holding the ids
var result = queryResult.Where(security => idList.Contains(security.SecuritiesId));
这会检查queryResult
的每个项目,SecuritiesId
是否包含在包含相关ID的列表中。