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

sql – LINQ to Entities在DateTime.DayOfWeek上加入

发布时间:2020-12-12 07:30:34 所属栏目:MsSql教程 来源:网络整理
导读:想象一下两张桌子:Shifts,RANK_S_DAY.移位包含一个ShiftDate列,它是DateTime,RANK_S_DAY有一个DayOfWeek列.我需要加入(int)ShiftDate.DayOfWeek等于DayOfWeek.我理解为什么它不起作用,但我不确定如何改变它.例外情况是: The specified type member ‘DayOfW
想象一下两张桌子:Shifts,RANK_S_DAY.移位包含一个ShiftDate列,它是DateTime,RANK_S_DAY有一个DayOfWeek列.我需要加入(int)ShiftDate.DayOfWeek等于DayOfWeek.我理解为什么它不起作用,但我不确定如何改变它.例外情况是:

The specified type member ‘DayOfWeek’ is not supported in LINQ to Entities. Only initializers,entity members,and entity navigation properties are supported.

据我所知,LINQ无法将(int)ShiftDate.DayOfWeek翻译成SQL理解的东西,任何想法?

这是代码:

Shifts = from s in en.Shifts
join j in en.RANK_S_JOB on s.kronos_JobPositions.JobID equals j.JOBNO
join d in en.RANK_S_DAY on (int)s.ShiftDate.DayOFWeek equals d.DAY_OF_WEEK
orderby
 d.RANK,j.RANK ascending
select s;

解决方法

LINQ to SQL
var dayOfWeekCondition = (dt => dt.DayOfWeek == dayOfWeek);

LINQ to Entities

int dow = (int)dayOfWeek + 1; // SQL Day of week
var dayOfWeekCondition = (dt => SqlFunctions.DatePart(“weekday”,dt) == dow);

资源:

http://blog.abodit.com/2009/07/entity-framework-in-net-4-0/

(编辑:李大同)

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

    推荐文章
      热点阅读