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();