2010-06-10 39 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

相關問題