Mig*_*ura 5 c# linq datetime entity-framework group-by
我试图定义一种按年,按月,按天,按小时等分组的标准方法...
通过阅读一些SQL文档,似乎最有效的方法是使用:
GROUP BY dateadd(month, datediff(month, 0, CreatedDate), 0)
Run Code Online (Sandbox Code Playgroud)
注意"月","年",......
然后我尝试使用以下方法复制:
.GroupBy(x => SqlFunctions.DateAdd("month", SqlFunctions.DateDiff("month", 0, x.Created), 0))
.GroupBy(x => EntityFunctions.AddMonths(EntityFunctions.DiffMonths(0, x.Created)))
Run Code Online (Sandbox Code Playgroud)
但是,两个表达式都无法编译......
我不确定这是不是这样做的?
如何在EF中正确复制该SQL代码行?
我不明白你为什么要使用标准的sql来做任何方式,但这可以使用LINQ轻松完成,它会更标准,按匿名类型分组,例如:
.GroupBy( x => new
{
month = x.CreatedDate.Month,
year = x.CreatedDate.Year,
...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3956 次 |
| 最近记录: |