C# linq中的简单选择查询
假设我有一个学生表,我想显示ID为1的学生C# linq中的简单选择查询,c#,sql,.net,linq,contains,C#,Sql,.net,Linq,Contains,假设我有一个学生表,我想显示ID为1的学生 SELECT * FROM STUDENT ST WHERE ST.ID = 1 这就是我在林克如何做到的 StudentQuery = from r in oStudentDataTable.AsEnumerable() where (r.Field<int>("ID") == 1) sel
SELECT *
FROM STUDENT ST
WHERE ST.ID = 1
这就是我在林克如何做到的
StudentQuery = from r in oStudentDataTable.AsEnumerable()
where (r.Field<int>("ID") == 1)
select r;
oStudentDataTable = StudentQuery.CopyToDataTable();
如何在Linq中实现这一点?尝试IEnumerable。包含:
使用
也可以尝试以下方法:
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>();
如果列表变得更长,我自己更喜欢哈希集。该列表将由LINQ转换为SQL,转换成in子句,然后由数据库优化。我不认为哈希集会更快。请您为此提供一些帮助:
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();
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();
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>();