如何在linq to sql查询中计算列值的总和?

7

我写了这个查询:

var query2 = (from p in behzad.Compare_closed_numbers_in_CRM_and_Billing_system_detail_counters
               where p.fileid == point.id
               select new
               {
                   p.count
               }).ToArray();

当计数列中有任何值时,我想要将所有的计数值相加。例如:enter image description here

我应该如何实现?谢谢。

1个回答

5
如果计数字段是int类型,尝试以下方法:
int sum = behzad.Compare_closed_numbers_in_CRM_and_Billing_system_detail_counters
     .Where(t=>t.fileid == point.id)
     .Select(t => t.Count ?? 0).Sum();

如果计数字段是 nvarchar(max),请尝试以下方法:
int sum = behzad.Compare_closed_numbers_in_CRM_and_Billing_system_detail_counters
         .Where(t=>t.fileid == point.id)
         .Select(t => Convert.ToInt32(t.Count)).Sum();

哦,是的,谢谢您关注我的问题并回答。它有效。 - behzad razzaqi
不需要在sum之前加上select。Sum有一个与其意义相同的重载,只需将函数移动到sum的参数中即可。 - Esben Skov Pedersen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接