在两个列表之间搜索

本文关键字:列表 之间 搜索 两个 | 更新日期: 2023-09-27 18:35:32

我有一个这样的表模式:

我的表列:

 - 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的第一个col是否等于ListmyList值的位置。所以这是我使用 lambda 表达式的 linq 查询。

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

我得到"未知的梅托在哪里(布尔)。如何更改我的查询?

在两个列表之间搜索

试试这个:-

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

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