2010-06-10 38 views
0

我想执行此查询,但出现错误:无法转换为商店表达式。Linq to Entities:无法转换成商店表达式

如果我不能这样做,我该如何实现它?我正在使用C#。

如果所需日期不是今年,我想显示培训记录。任何建议非常感谢。

tr = from l in t.Trainees 
     where !db.UserTrainings.Any(ut => ut.Trainees.TraineeId == l.TraineeId && 
             ut.Passed == true && 
             ut.DateTaken >= l.DateEnded.Value.AddYears(-1)) 
     ...... rest of the query. 

回答

1

我还没有机会之前,使用EntityFunctions,但我相信,它可以用来解决您的问题。请尝试用EntityFunctions.AddYears(l.DateEnded, -1)代替l.DateEnded.Value.AddYears(-1)。该方法记录于on MSDN

+0

其中是EntityFunctions(我正在使用.net 3.5)。谢谢! – FM250 2010-06-11 17:58:28

+0

啊。我不确定在.NET 3.5中如何做到这一点。如果可能,我强烈建议升级(尤其是EF,有许多增强功能)。 – 2010-06-11 18:37:06

相关问题