linq中的简单选择查询

假设我有一张学生桌,我想要显示ID为1的学生。

SELECT * FROM STUDENT ST WHERE ST.ID = 1 

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

 StudentQuery = from r in oStudentDataTable.AsEnumerable() where (r.Field("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中实现这一目标?

使用.Contains

 var list = new List { 1, 2, 3, 4, 5 }; var result = (from r in oStudentDataTable.AsEnumerable() where (list.Contains(r.Field("ID")) select r).ToList(); 

尝试IEnumerable.Contains

 var list = new List(){1,2,3,4,5}; StudentQuery = from r in oStudentDataTable.AsEnumerable() where (list.Contains(r.Field("ID"))) select r; oStudentDataTable = StudentQuery.CopyToDataTable(); 

试试这个:

 var list = new List { 1, 2, 3, 4, 5 }; List result = (from r in oStudentDataTable.AsEnumerable() where (list.Contains(r.Field("ID")) select new StudentQuery { /* .Your entity here . */ }).ToList();