c# - MySQL 的 Linq To Entities DayOfYear 替代方案

标签 c# mysql linq entity-framework

我需要使用连接到 MySQL 数据库的 Linq to Entities 根据一年中的周数执行分组。我当前的查询看起来像。

entities.GroupBy(t => t.StartTime.Year + "/" + 
    (int)Math.Floor((double)(t.StartTime.DayOfYear - 1) / 7.0))

但这不起作用,因为 Entity Framework 无法正确映射 DayOfYear。有没有 我仍然可以使用 Linq to Entities 实现这一点。

我正在使用 Entity Framework 5.0。

最佳答案

尝试使用 SqlFunctions.DatePart 静态方法:

entities.GroupBy(t => t.StartTime.Year + "/" + 
    (int)Math.Floor((double)(SqlFunctions.DatePart("dy", t.StartTime.DayOfYear)) / 7.0))

但我不确定它是否适用于 MySQL 数据库。

关于c# - MySQL 的 Linq To Entities DayOfYear 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22203992/

相关文章:

c# - Blazor - 如何获取布局 @Body 路径?

mysql - 如何修改现有列的数据类型?

mysql - 根据其他两个表获取一行

c# - 枚举是在设计时将属性值显示为下拉列表的唯一方法吗

c# - 在 Web API Controller 中构建 JSON 响应

c# - 从数据库表生成类

c# - ASP引发MySQL异常的解决方法

c# - 如何将函数应用于 IQueryable 实例?

c# - where 和 join 有什么区别?

c# - 否定表达式