有没有办法将linq表达式中的多个值与通用列表进行比较?

时间:2013-03-14 15:46:42

标签: c# asp.net-mvc linq entity-framework

我有一个我正在查询的复杂实体对象,它具有需要与通用列表进行比较的值,以便选择正确的对象。我试图找到一种方法来比较实体对象中的Id值与列表中的所有值,而不必将查询放在循环中。

这就是我所拥有的:

通用列表:

    List<int> input = new List<int>()
                           {
                                 3,4,5....
                           };

我的查询 - 不起作用:

      ManagerToGetRepo mgr = new ManagerToGetRepo();
      var result = mgr.GetAllData()
                      .Where(a=>a.someObject.anotherObj.Id == input.Values);

1 个答案:

答案 0 :(得分:5)

只需使用List<T>.Contains方法查看每个值是否在集合中

var result = mgr.GetAllData()
                .Where(a => input.Contains(a.someObject.anotherObj.Id));