假设我有一张学生桌,我想要显示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中实现这一目标?
答案 0 :(得分:20)
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();
答案 1 :(得分:4)
尝试IEnumerable.Contains
:
var list = new List<int>(){1,2,3,4,5};
StudentQuery = from r in oStudentDataTable.AsEnumerable()
where (list.Contains(r.Field<int>("ID")))
select r;
oStudentDataTable = StudentQuery.CopyToDataTable();
答案 2 :(得分:2)
也可以尝试:
var list = new List<int> { 1, 2, 3, 4, 5 };
List<StudentQuery> result = (from r in oStudentDataTable.AsEnumerable()
where (list.Contains(r.Field<int>("ID"))
select new StudentQuery
{ /*
.Your entity here
.
*/
}).ToList<StudentQuery>();