вычитать столбцы в таблице с помощью LINQ - PullRequest
4 голосов
/ 10 марта 2011

Мне нужно вычесть один столбец из другого столбца в таблице в моей базе данных, используя LINQ

Таблица пробная

Userid  Money     Type

x       500       +

y       250       +

x       300       -

y       100       -

x       120       -

Мне нужно это сделать;

500 - 300 - 120 для х

и

250 - 100 для г.

как мне это сделать?

Я пробовал группировать как trial.userid и trial.money, trial.type. По сути, я думаю, что я должен сгруппировать пользователей по идентификаторам, и мне нужно добавить + и вычесть - из суммы сложения пожалуйста, помогите мне.

Ответы [ 2 ]

6 голосов
/ 10 марта 2011

Как насчет чего-то вроде:

var query = from row in db.Rows
            group row by row.UserId into tmp
            select new {
              UserId = tmp.Key,
              Money = tmp.Sum(x => x.Type == '+' ? x.Money : -x.Money)
            };
4 голосов
/ 10 марта 2011

Попробуйте что-то подобное для каждой группы:

group.Sum(row => row.Type == "+" ? row.Money : -row.Money)
...