首頁 > 後端開發 > C++ > 如何解決'LINQ to Entities 無法辨識方法'System.String ToString()'方法”錯誤?

如何解決'LINQ to Entities 無法辨識方法'System.String ToString()'方法”錯誤?

Barbara Streisand
發布: 2025-01-22 09:21:09
原創
341 人瀏覽過

How to Resolve the

解決“LINQ to Entities 無法辨識 'System.String ToString()'”錯誤

在 MySQL 到 SQL Server 資料遷移期間,出現一個常見錯誤:LINQ to Entities 無法辨識 System.String ToString() 方法,從而阻止轉換為資料庫查詢。 當比較 LINQ where 子句中的字串時,通常會發生這種情況。

解決方案涉及將 ToString() 的字串結果儲存在臨時變數中,然後再在查詢中使用它。這有效地將字串視為常數,從而實現成功的 SQL 轉換。 方法如下:

<code class="language-csharp">var strItem = item.Key.ToString();

IQueryable<entity> pages = from p in context.pages
                         where p.Serial == strItem
                         select p;</code>
登入後複製

透過將 item.Key.ToString() 指派給 strItem,此方法的結果將成為 LINQ to Entities 轉換器可以理解的常數值。

或者,按照 Alex 的建議(上下文需要參考),SqlFunctions 幫助器類別為 LINQ to Entities 查詢提供專門的方法,從而可能消除對臨時變數的需要。 有關使用 SqlFunctions 的詳細說明,請參閱 Alex 的解決方案。

以上是如何解決'LINQ to Entities 無法辨識方法'System.String ToString()'方法”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板