加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Linq to Entities group按周编号

发布时间:2020-12-15 18:17:05 所属栏目:百科 来源:网络整理
导读:我正在使用ASP.NET v4.5和 linq实体 我试图按周使用以下代码对数据进行分组 var groupedByWeek = salesOrdersList .GroupBy(i = i.DueDate.AddDays(-(int)i.DueDate.DayOfWeek)); 但是我得到一个“黄色死亡屏幕”,错误: LINQ to Entities does not recogniz
我正在使用ASP.NET v4.5和 linq实体
我试图按周使用以下代码对数据进行分组
var groupedByWeek = salesOrdersList
    .GroupBy(i => i.DueDate.AddDays(-(int)i.DueDate.DayOfWeek));

但是我得到一个“黄色死亡屏幕”,错误:

LINQ to Entities does not recognize the method ‘System.DateTime AddDays(Double)’ method,and this method cannot be translated into a store expression.

理想情况下我想说

var groupedByWeek = salesOrdersList.GroupBy(i => i.DueDate.WeekNumber);

但生活并不那么容易!

有没有人知道使用Linq to Entities的周数的方法?

解决方法

使用 SqlFunctions.DatePart()方法:
var groupedByWeek = salesOrdersList.GroupBy(i => SqlFunctions.DatePart("week",i.DueDate));

它会将DATEPART sql函数调用添加到生成的SQL查询中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读