5
我试图定义按年份,按月份,按日期,按小时等分组的标准方法...实体框架。 SQL Group By到EF Group按
通过阅读一些SQL文档,它似乎是最有效的方法是使用:
GROUP BY dateadd(month, datediff(month, 0, CreatedDate), 0)
注意 “月”, “年”,...
然后我试图复制这种使用:
.GroupBy(x => SqlFunctions.DateAdd("month", SqlFunctions.DateDiff("month", 0, x.Created), 0))
.GroupBy(x => EntityFunctions.AddMonths(EntityFunctions.DiffMonths(0, x.Created)))
然而,这两种表达式都无法编译...
而且我不确定这是否可以这样做?
如何正确地复制EF中的SQL代码行?
是的,我有这个工作。但如果我没有错误地使用我发布的东西有更好的表现,不是吗?我正在阅读以下内容:http://weblogs.sqlteam.com/jeffs/archive/2007/09/10/group-by-month-sql.aspx ... – 2012-03-29 14:00:50
这是我试图找到一种方法使用EntityFunctions复制该SQL代码......并同时创建一个按年,按月,按天,按小时分组的标准方法......我只需将AddYears更改为AddMonths即可...... – 2012-03-29 14:03:54
它没有任何性能优势。您链接的帖子只是表示它可以更轻松地在Sql中使用。我没有看到用Entity Framework这么做的好处。 .NET与Sql没有相同的限制。 – cadrell0 2012-03-29 14:12:44