【问题标题】:How to perform addition in a Linq query如何在 Linq 查询中执行加法
【发布时间】:2012-11-16 06:32:49
【问题描述】:

我的查询是这样的

var query = dbContext.table1.join(dbcontext.table2,i=>i.table1.id,j=>j.table2.id,
                 (i,j)=>new {
                     name = i.name,
                     hours = (new decimal?[]{ j.day1,j.day2,j.day3}.Sum()),
                     total = ???????
                 }).ToArray();

在小时字段中,我获得了三天内单个用户的工作时间值。在“总计”字段中,我想显示所有用户“小时”值的总和。

你能告诉我如何得到“总”值吗?

【问题讨论】:

  • 我假设,您的数组中所有项目的总数都相同?那么,为什么要把它放在项目中呢?我建议您将其作为查询之外的附加值。

标签: c# mysql asp.net-mvc linq


【解决方案1】:
var total = query.Sum(x => x.hours);

由于这个总数是针对结果集中的所有行的,所以您不希望每一行都有一个值,而是一个代表整个数组聚合的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多