Есть ли способ использовать over с предложением по порядку в linq? - PullRequest
0 голосов
/ 15 декабря 2018

Мне нужно получить промежуточную сумму для упорядоченного значения, поэтому мне нужно повторить этот запрос в linq

SELECT  sum(number) over (order by number)

FROM tableName

Знаете ли вы, как это сделать?

1 Ответ

0 голосов
/ 15 декабря 2018

Возможно, это может сработать:

Отредактировано (я опробовал ваш запрос и думаю, что вы ищете)

List<TableName> tableNames = new List<TableName> {
    new TableName { Number = 2},
    new TableName { Number = 4},
    new TableName { Number = 3},
    new TableName { Number = 3},
    new TableName { Number = 2},
    new TableName { Number = 3},
    new TableName { Number = 4},
    new TableName { Number = 4},
    new TableName { Number = 4},
    new TableName { Number = 4}
};

IEnumerable<int> runningSum = tableNames.Select(r => (tableNames.Where(ri => ri.Number <= r.Number).Sum(rii => rii.Number))).OrderBy(num => num);

Результат:

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