Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq中的简单选择查询_C#_Sql_.net_Linq_Contains - Fatal编程技术网

C# linq中的简单选择查询

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

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

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