Использование метода расширения SelectMany для выбора нескольких столбцов из списка DataRow с результатом в качестве подмножества списка данных - PullRequest
1 голос
/ 24 сентября 2010

У меня есть таблица данных, содержащая 10 столбцов. Я хочу выбрать только два столбца из них.

Я не могу сделать это, используя SelectMany Метод расширения.

Я знаю, как получить его из Linq To DataSet, но пытаюсь использовать этот метод расширения.

Ответы [ 3 ]

5 голосов
/ 24 сентября 2010

Метод SelectMany используется для выравнивания последовательности последовательностей, а не просто для выбора подмножества доступных столбцов. Вместо этого используйте метод Select:

var query = yourDataTable.AsEnumerable()
                         .Select(r => new { Column3 = r[3], Column6 = r[6] });
2 голосов
/ 24 сентября 2010

SelectMany - это неправильный метод для использования.Вам просто нужно использовать Select и создать новый анонимный объект:

dataTable.AsEnumerable().Select(r => new { r.Column1, r.Column7 });

SelectMany используется для выравнивания вложенных коллекций.

0 голосов
/ 24 сентября 2010

var s = table.Rows.Cast (). Выбрать (....);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...