【问题标题】:subtract columns in a table with LINQ用 LINQ 减去表中的列
【发布时间】:2011-03-10 08:58:23
【问题描述】:

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

桌试

Userid  Money     Type

x       500       +

y       250       +

x       300       -

y       100       -

x       120       -

我需要这样做;

500 - 300 - 120 为 x

250 - 100 为你。

我该怎么做?

我尝试过像trial.useridtrial.moneytrial.type 这样的分组。 基本上,我认为我必须通过 id 对用户进行分组,并且我需要从加法的总和中加上 + 和减去 - 请帮助我。

【问题讨论】:

    标签: c# linq linq-to-sql group-by sum


    【解决方案1】:

    怎么样:

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

    【讨论】:

      【解决方案2】:

      为每个组尝试这样的事情:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-24
        • 1970-01-01
        • 2018-11-28
        • 1970-01-01
        • 2019-01-22
        • 2015-09-07
        • 1970-01-01
        相关资源
        最近更新 更多