小编典典

LINQ to实体在DateTime.DayOfWeek上加入

sql

想象两个表:Shifts,RANK_S_DAY。Shifts包含一个ShiftDate列,DateTime而RANK_S_DAY包含一个DayOfWeek列。我需要加入(int)ShiftDate.DayOfWeek equals DayOfWeek。我知道为什么它不起作用,但是我不太确定如何更改它。例外是:

LINQ to Entities不支持指定的类型成员’DayOfWeek’。仅支持初始化程序,实体成员和实体导航属性。

据我了解,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;

阅读 198

收藏
2021-05-23

共1个答案

小编典典

看来在这个级别上我无能为力。因此,我要做的是创建一个存储过程,该过程将两个表连接在一起并将其导入到Entity中,创建了一个函数导入,该函数返回了一个Shifts实体。不知道这是否是最好的方法,但是它可行且干净。

2021-05-23