Fau*_*ust 6 c# linq entity-framework
我有一个具有ReleaseDate属性的实体Publications集.我希望从这个集合中获取所有不同年份和月份组合的列表,以创建分页小部件.
最好,我想要一个DateTime值列表,每天从我的出版物集中的每个月开始为1:
IEnumerable<DateTime> DistinctYearMonths = from p in context.Publications. .... ?
Run Code Online (Sandbox Code Playgroud)
如何完成此linq-to-entities查询?
Sla*_*uma 14
IEnumerable<DateTime> DistinctYearMonths = context.Publications
.Select(p => new { p.ReleaseDate.Year, p.ReleaseDate.Month })
.Distinct()
.ToList() // excutes query
.Select(x => new DateTime(x.Year, x.Month, 1)); // copy anonymous objects
// into DateTime in memory
Run Code Online (Sandbox Code Playgroud)
投影到匿名类型的中间步骤是必要的,因为您不能直接投影到DateTime(LINQ to Entities中的投影中不支持具有参数的构造函数,Year而且readonly的Month属性DateTime是,所以您不能使用初始化语法设置它们(new DateTime { Year = p.ReleaseDate.Year, ... }不可能)).
| 归档时间: |
|
| 查看次数: |
5882 次 |
| 最近记录: |