объединить значения источника данных asp.net - PullRequest
1 голос
/ 22 ноября 2011

Я пытаюсь выяснить, есть ли у них какой-либо возможный способ объединения значений источника данных.Структура данных была бы такой же:

Year| Amount Used| Amount Collected | Amount Saved

Что я хочу сделать, это объединить источники данных, которые IQueryable<T> типы данных T того же типа , что иструктура, а затем привязать его к сетке.

Только столбец, который я не хочу добавлять, - это год, потому что я хочу, чтобы источники объединялись на основе года, а также каждый год может отсутствовать в источниках данных.

Как это возможно, будет ли единственный способ сделать оператор foreach для каждого источника и объединить их вручную?

Я ищу что-то попроще

1 Ответ

1 голос
/ 22 ноября 2011

Используйте оператор объединения LINQ для объединения двух типов данных IQueryable.Я бы создал новую переменную с результатом операции объединения.Отсюда группируйте по годам и используйте статистическую функцию (сумма, вероятно, будет то, что вы ищете) для выполнения вычислений.

РЕДАКТИРОВАТЬ: Вот пример.Я скажу вам, что я нахожусь в процессе изучения LINQ самостоятельно, и там есть много учебных пособий (Google - ваш друг).Я изучал LINQ в VB, который имеет несколько иной синтаксис, как C #.Я приложил все усилия, чтобы написать пример на C #, но он может быть не совсем правильным, но даст вам хорошую отправную точку.

var unionResult = dataSet1.Union(dataSet2);

var groupedResult = from r in unionResult
        group r By r.Year into g
        Select new
        {
            Year = g.Key.Year,
            TotalUsed = g.Sum(r => r.AmountUsed),
            TotalCollected = g.Sum(r => r.AmountCollected),
            TotalSaved = g.Sum(r => r.AmountSaved
        };

Если вы используете LINQ to DataSets, первая строка может потребоватьсязаменено на:

var unionResult = dataSet1.AsEnumerable().Union(dataSet2.AsEnumerable());

Вот некоторые из ресурсов (кроме Google), которые я использовал.Блог Скотта Гу (щелкните правой кнопкой мыши тег LINQ). 4 Ребята также имеет хорошие составные серии.

...