var MyCours = Db.COURS.Where(C => C.CLASSE_ID == ClassID
&& DateTime.Now>= C.START_DATE
&& DateTime.Now <= C.END_DATE)
.ToList();
有些变化仍然无效!
答案 0 :(得分:4)
可能的问题是提供者无法将DateTime.Compare
投射到SQL语句中。在比较方向上可能存在逻辑错误(除非您真的想要enddate < now < startdate
),我还建议使用.ToList()
来实现列表:
var theTimeNow = DateTime.Now;
var MyCours = Db.COURS.Where(C => C.CLASSE_ID == ClassID
&& theTimeNow >= C.START_DATE
&& theTimeNow <= C.END_DATE)
.ToList();
将DateTime.Now
投影到变量中会隔离它的非确定性,即确保两个比较都是在同一时间进行。