C# Linq到SQL Group by和select with实体中的sum
这是mysql查询:C# Linq到SQL Group by和select with实体中的sum,c#,asp.net,linq,asp.net-mvc-3,C#,Asp.net,Linq,Asp.net Mvc 3,这是mysql查询: select convert(date,convert(char(11),[Bill Date])) as date, SUM(Amount) as total from Bills group by [Bill Date] order by date asc 它的LINQ到SQL的实体是什么?您可以将LINQGroupBy方法与Sum方法结合使用 您可以使用BillDate datetime字段上的DbFunctions.TruncateTime方法,
select
convert(date,convert(char(11),[Bill Date])) as date,
SUM(Amount) as total from Bills
group by [Bill Date]
order by date asc
它的LINQ到SQL的实体是什么?您可以将LINQ
GroupBy
方法与Sum
方法结合使用
您可以使用BillDate datetime字段上的DbFunctions.TruncateTime
方法,在对日期进行分组时消除时间戳部分(假设您希望获得每天的总计)
这将为您提供一个包含Day
属性和Total
属性的匿名对象列表
假设db
是您的db上下文对象,Bills
是类型为DbSet
DbFunctions.TruncateTime
方法位于System.Data.Entity
命名空间中。因此,请确保您有一个使用语句导入的。账单日期的类型是什么?我很好奇你为什么要打转换电话?“Bill Date”是datetime。我需要更改以纳入图表我无法调用[(DbFunctions)您不能呼叫是什么意思?是什么阻止您这样做?匿名类型属性名称应为Date,解决方案还需要OrderByclause@MrinalKamboj答案主要是展示如何进行分组!因此,这不是一个提供像素完美代码供复制和粘贴的地方!感谢您指出OrderBy,不过,我会解决这个问题 it@bao4461826,选中此项,您需要名称空间System.Data.Entity
var groupedSum= db.Bills.GroupBy(x => DbFunctions.TruncateTime(x.BillDate))
.Select(x => new
{
Total= x.Sum(g => g.Amount),
Date = x.Key
}).OrderBy(f=>f.Date).ToList();