Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用LINQ减去表中的列_C#_Linq_Linq To Sql_Group By_Sum - Fatal编程技术网

C# 使用LINQ减去表中的列

C# 使用LINQ减去表中的列,c#,linq,linq-to-sql,group-by,sum,C#,Linq,Linq To Sql,Group By,Sum,我需要使用LINQ从数据库表中的另一列中减去一列 桌面试验 Userid Money Type x 500 + y 250 + x 300 - y 100 - x 120 - 我需要这样做 500-300-120用于x 及 y的250-100 我该怎么做 我尝试了分组,比如trial.userid和trial.money,trial.type。 基本上,我

我需要使用LINQ从数据库表中的另一列中减去一列

桌面试验

Userid  Money     Type

x       500       +

y       250       +

x       300       -

y       100       -

x       120       -
我需要这样做

500-300-120
用于x

y的
250-100

我该怎么做

我尝试了分组,比如
trial.userid
trial.money
trial.type
。 基本上,我认为我必须通过id对用户进行分组,我需要将+和-相加
请帮帮我。

为每组尝试以下方法:

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

比如说:

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)
            };