Shifts、RANK_S_DAY という 2 つのテーブルがあるとします。Shifts には ShiftDate 列が含まれており、RANK_S_DAYDateTime
には列がありDayOfWeek
ます。参加する必要があり(int)ShiftDate.DayOfWeek equals DayOfWeek
ます。うまくいかない理由は理解できますが、どうすれば変更できるのかよくわかりません。例外は次のとおりです。
指定された型メンバー 'DayOfWeek' は、LINQ to Entities ではサポートされていません。初期化子、エンティティ メンバー、およびエンティティ ナビゲーション プロパティのみがサポートされています。
(int)ShiftDate.DayOfWeek
私が理解しているように、LINQ は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;