我需要使用Linq to Entities连接到MySQL数据库,根据一年中的周数进行分组。我当前的查询看起来像。
entities.GroupBy(t => t.StartTime.Year + "/" + (int)Math.Floor((double)(t.StartTime.DayOfYear - 1) / 7.0))
然而,这不起作用,因为实体框架无法正确映射DayOfYear。有没有 我可以实现这一点,仍然使用Linq to Entities。
我正在使用Entity Framework 5.0。
答案 0 :(得分:2)
尝试使用SqlFunctions.DatePart
静态方法:
entities.GroupBy(t => t.StartTime.Year + "/" +
(int)Math.Floor((double)(SqlFunctions.DatePart("dy", t.StartTime.DayOfYear)) / 7.0))
但我不确定它是否适用于MySQL数据库。
答案 1 :(得分:0)
原来我做不到。不容易。所以我写了一个存储过程来完成繁重的工作并使用MySQL内置的功能DAY OF YEAR。