простой запрос на выбор в linq

Допустим, у меня есть стол ученика, и я хочу показать ученика с идентификатором 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();

но что, если я хочу отобразить студентов с этими идентификаторами 1,2,3,4,5 ..

SELECT *
FROM STUDENT ST
WHERE ST.ID IN (1,2,3,4,5)

Как я могу добиться этого в Linq?

12 голосов | спросил Bonus Kun 12 +04002012-10-12T16:54:36+04:00312012bEurope/MoscowFri, 12 Oct 2012 16:54:36 +0400 2012, 16:54:36

3 ответа


0

Используйте .Contains

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();
ответил Darren 12 +04002012-10-12T16:56:47+04:00312012bEurope/MoscowFri, 12 Oct 2012 16:56:47 +0400 2012, 16:56:47
0

Попробуйте 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();
ответил Piotr Zierhoffer 12 +04002012-10-12T16:56:34+04:00312012bEurope/MoscowFri, 12 Oct 2012 16:56:34 +0400 2012, 16:56:34
0

Попробуйте также:

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>();
ответил Arun Manjhi 17 +04002012-10-17T16:32:57+04:00312012bEurope/MoscowWed, 17 Oct 2012 16:32:57 +0400 2012, 16:32:57

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132