【发布时间】:2012-05-09 20:34:55
【问题描述】:
我有一个数据库表。
- 首先,我想按日期时间分组。
- 然后我只想选择有 n 个项目的组。
我的班级是这样的:
public class VisitDate
{
public int Id {get;set;}
public int VisitMeDate {get;set;}
.....
.....
}
我的 SQL 表如下:
Id Date
--- -----------------------
136 2012-05-09 10:00:00.000
167 2012-05-09 12:00:00.000
137 2012-05-10 10:00:00.000
168 2012-05-10 12:00:00.000
194 2012-05-10 14:00:00.000
138 2012-05-11 10:00:00.000
169 2012-05-11 12:00:00.000
195 2012-05-11 14:00:00.000
139 2012-05-12 10:00:00.000
170 2012-05-12 12:00:00.000
196 2012-05-12 14:00:00.000
140 2012-05-13 10:00:00.000
171 2012-05-13 12:00:00.000
197 2012-05-13 14:00:00.000
141 2012-05-14 10:00:00.000
142 2012-05-15 10:00:00.000
172 2012-05-15 12:00:00.000
143 2012-05-16 10:00:00.000
173 2012-05-16 12:00:00.000
144 2012-05-17 10:00:00.000
174 2012-05-17 12:00:00.000
198 2012-05-17 14:00:00.000
我想像下面这样转换:
List<List<MyEntity>> = ?;
137 2012-05-10 10:00:00.000
168 2012-05-10 12:00:00.000
194 2012-05-10 14:00:00.000
138 2012-05-11 10:00:00.000
169 2012-05-11 12:00:00.000
195 2012-05-11 14:00:00.000
139 2012-05-12 10:00:00.000
170 2012-05-12 12:00:00.000
196 2012-05-12 14:00:00.000
140 2012-05-13 10:00:00.000
171 2012-05-13 12:00:00.000
197 2012-05-13 14:00:00.000
144 2012-05-17 10:00:00.000
174 2012-05-17 12:00:00.000
198 2012-05-17 14:00:00.000
我试过这个:
List<List<VisitDate>> dates = dbContext.VisitDates.GroupBy(f => new { f.VisitMeDate }).ToList();
但它不能编译,我不知道怎么说我只想要三个元素的组。
【问题讨论】:
-
我已经编辑了您的问题以使其更清楚。如果我在理解您的问题时出现错误,请再次编辑以修复错误。
-
谢谢@MarkByers,我会试试你的代码。
标签: c# .net linq entity-framework entity-framework-4