EF 錯誤LINQ to Entities 不識別方法“Int32 ToInt32(System.String)

SieSteven發表於2016-03-03

昨天寫EF查詢的時候,竟然報錯。程式碼如下:


錯誤資訊如下:

LINQ to Entities 不識別方法“WinFormTools.Model.VideoInfo get_Item(Int32)”,因此該方法無法轉換為儲存表示式。

首先更新了資料庫對映,其次檢視了引入的DLL(VS10下,建立EF對映時,需要手動引入System.Data.Entity,否則沒有IDispose,無法收回垃圾)。都沒發現問題。結果查了一下,網上發現了一篇帖子,不過他的錯誤是:

LINQ to Entities 不識別方法“Int32 ToInt32(System.String)

連結如下:LINQ to Entities 不識別方法“Int32 ToInt32(System.String)

可能是因為無法動態編譯的原因。紅框中是錯誤程式碼。將紅框中的程式碼替換為上一句那種寫法後,發現沒問題了。


所以,EF使用時,條件不能使用需要動態編譯的變數。Framework 4.0下。

編譯通過。執行時正常。yeah!

有噴的,可以留言,也可以發郵件:981243247@qq.com


相關文章