我面臨一個異常時,我嘗試轉換爲派生類中派生表類拋出異常時;無法將類型''轉換爲鍵入''。 LINQ to Entities僅支持投射EDM基元或枚舉類型。實體框架: - 錯誤投放到每一個分層查詢
(obj => ((DerivedClass)obj).DerivedProperty == true);
我面臨一個異常時,我嘗試轉換爲派生類中派生表類拋出異常時;無法將類型''轉換爲鍵入''。 LINQ to Entities僅支持投射EDM基元或枚舉類型。實體框架: - 錯誤投放到每一個分層查詢
(obj => ((DerivedClass)obj).DerivedProperty == true);
感謝所有您的幫助; 我通過使用as運算符而不是直接投射來解決問題;我不知道原因,但是這解決了我的問題。
obj => (obj as DerivedClass).DerivedProperty == true;
我最好的猜測是,你正在試圖做的鑄件之前執行的SQL語句和LINQ到實體不知道如何將此轉化爲SQL。
你的一個選擇是你做的鑄件,然後LINQ到對象之前應該能夠處理這個執行SQL查詢。警告:這可能會導致N + 1問題。
有可能是一個更聰明的解決方案,但沒有更多的代碼,這是我最好的猜測。
您的問題是使用IQueryable< TBase >.OfType< TDerived >()方法開始查詢最有可能得到解決,但你應該張貼的你在做什麼的更多細節。
顯示整個查詢 – Moho