一尘不染

LINQ中的简单选择查询

sql

假设我有一个学生表,我想显示ID为1的学生。

SELECT *
FROM STUDENT ST
WHERE ST.ID = 1

这就是我在Linq中实现这一目标的方式。

StudentQuery = from r in oStudentDataTable.AsEnumerable()
                                     where (r.Field<int>("ID") == 1)
                                     select r;
            oStudentDataTable = StudentQuery.CopyToDataTable();

但是如果我要显示具有这些ID 1,2,3,4,5的学生该怎么办。

SELECT *
FROM STUDENT ST
WHERE ST.ID IN (1,2,3,4,5)

如何在Linq中实现这一目标?


阅读 139

收藏
2021-05-16

共1个答案

一尘不染

使用 .Contains

var list = new List<int> { 1, 2, 3, 4, 5 };

var result = (from r in oStudentDataTable.AsEnumerable()
              where (list.Contains(r.Field<int>("ID"))
              select r).ToList();
2021-05-16