c# - 总和和分组依据

标签 c# linq windows-phone

我有一个包含以下字段的表:

public int S_ID       
public DateTime S_Date            
public string S_Month        
public string S_Overtime    
public string S_WorkingTime

我想要(Orderby S_Date)(GroupBy S_Month)(SUM S_Overtime)(SUM S_Workingtime) 然后我使用 Binding 将其显示在列表框中。

下面的代码有效,但它既不计算加类时间,也不计算工作时间

var manader = (from c in db.nys
               orderby c.S_Date ascending
               select c).GroupBy(g => g.S_Month).Select(x => x.FirstOrDefault());
listBox.ItemsSource = manader;

最佳答案

我不知道 S_WorkingTimeS_Overtime 中有哪些数据,但假设这是 int 的字符串表示形式:

var manader = from c in db.nys
              group c by c.S_Month into g
              select new { 
                    Month = g.Key, 
                    Overtimes = g.Sum(x => Int32.Parse(x.S_Overtime)),
                    WorkingTimes = g.Sum(x => Int32.Parse(x.S_WorkingTime)) 
              };

顺便说一句,我认为按 S_Date 订购商品是没有意义的,因为您按 S_Month 对它们进行分组并使用聚合值。

关于c# - 总和和分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12901225/

相关文章:

C# 即使使用 "using System.Data.SqlClient;"也无法识别 SQLConnection

c# - 字符串比较的 DateTime.TryParseExact 方法

windows-phone-7 - 如何在 WP 7.8 中处理多种图 block 尺寸

c# - EntityFramework 6 中的 IDbCommandInterceptor 是线程安全的吗

c# - Asp.Net Core 2 中是否有相当于 "HttpContext.Response.Write"的值?

c# - LINQ 获取全局索引

.net - Linq:将对象列表转换为字典,以对象成员作为值

c# - Windows Phone 构建应用程序教程

wpf - 绑定(bind)到多个索引器

c# - NHibernate 中的表达式树