C# Linq到实体:无法转换为存储表达式
我正在尝试执行此查询,但遇到一个错误:无法转换为存储表达式 如果我不能这样做,我如何实现它?我用的是C# 如果日期不是今年,我将尝试显示培训记录。非常感谢您的任何建议C# Linq到实体:无法转换为存储表达式,c#,C#,我正在尝试执行此查询,但遇到一个错误:无法转换为存储表达式 如果我不能这样做,我如何实现它?我用的是C# 如果日期不是今年,我将尝试显示培训记录。非常感谢您的任何建议 tr = from l in t.Trainees where !db.UserTrainings.Any(ut => ut.Trainees.TraineeId == l.TraineeId && ut.Passe
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.
我以前没有机会使用
EntityFunctions
,但我相信它可以用来解决您的问题
尝试将
l.dateend.Value.AddYears(-1)
替换为EntityFunctions.AddYears(l.dateend,-1)
。该方法已记录在案。Ah。我不知道如何在.NET3.5中做到这一点。如果可能的话,我强烈建议升级(特别是EF有很多很多增强功能)。