C # DataTable LINQ & GROUP BY - PullRequest
       25

C # DataTable LINQ & GROUP BY

4 голосов
/ 06 ноября 2010

У меня есть DataTable с 20 столбцами (мне нужно только 3 из них.) Мне нужно выполнить следующий запрос и затем сохранить результаты как array.Я провел некоторый поиск, но не могу понять, как выполнить математическую операцию.Я знаю, что нужно использовать LINQ, но я никуда не денусь.Любая помощь приветствуется!

SELECT DISTINCT columnZ, (columnX + columnY) / 2 FROM DataTable

* РЕДАКТИРОВАТЬ - исправленный оператор SQL

1 Ответ

3 голосов
/ 06 ноября 2010

Отвечая на ваш последний комментарий (я предлагаю вам обновить вопрос):

  var result = 
    (from row in dataTable.AsEnumerable()
     let average = ((double)row["columnX"] + (double)row["columnY"])/2
     select new 
     {
        ColumnZ = (string)row["columnZ"],
        Average = average
     }).Distinct();

Используйте ваши фактические типы данных.

...