Linq在两个列表之间搜索

时间:2014-12-28 10:38:31

标签: c# linq

我有一个像这样的表格架构:

MyTable专栏:

 - FirstCol: 1507, 1507, 1507,1507,1507
 - SeconCol:  1508,1509,1510,1511,1512

我有一个整数简单列表:

  List<int> myList= new List<int>();
             int a = 0;
             int myId= 1507;

            myList.Add(myId);

            foreach (var item in myList)
            {

                a = item.myId;
                myList.Add(a);

            }

结果如下:

 1507, 1508, 1509,1510,1511,1512(i am trying to get recursive query)

我的第二个清单:

IEnumerable<Table> MyTable= table.SelectAll();
//myTable contains MyTableId, MyId, DeptId, UserId etc.

我只想搜索myTable的firstcol是否等于ListmyList值的位置。所以这是我的linq查询与lambda表达式。

 MyTable= MyTable.Where(myList.Contains((int)MyTable.Select(p=>p.myId))).ToList();

我得到&#34;未知的方法在哪里(bool)。我该如何更改查询?

1 个答案:

答案 0 :(得分:1)

试试这个: -

var result = MyTable.Where(x => myList.Contains(x.FirstCol)).ToList();

你不能使用那样的where子句,请检查Where语法。