实体框架,按日期/周/月分组,在日期时间工作

Pie*_*rto 2 c# sql sql-server datetime entity-framework

正如标题所说,我的表中有一个日期时间列。

在三种不同的情况下,我需要以三种方式按我的记录分组:

  1. 按天分组
  2. 按周分组
  3. 按月分组

如果可能,我如何在实体框架中使用 lambda 表达式执行这 3 个不同的 group by 语句?

更新:链接的问题是重复的,不是真正的重复。我要求使用 lambda 解决方案,但链接中没有它

Kah*_*azi 5

你可以使用这个方法:

var ByDayGrouped = new TestEntities().Objects.GroupBy(O => new { O.date.Year, O.date.Month, O.date.Day }).ToList();

var ByMonthGrouped = new TestEntities().Objects.GroupBy(O => new { O.date.Year, O.date.Month }).ToList();

var ByWeekGrouped = new TestEntities().Objects.GroupBy(O => (O.date.DayOfYear % 7) + M ).ToList();
Run Code Online (Sandbox Code Playgroud)