我正在嘗試將SQLClient用於實體框架功能,但我遇到了一些問題。我需要將ID
(其在數據庫中爲int
)轉換爲nvarchar
,以便我可以使用通配符進行比較。SQLClient字符串函數NVARCHAR而不是STR
這在一定程度上有效(即它的構建和執行沒有錯誤),然而這不是我需要做的數據庫方面,它返回錯誤的結果。事實上,它返回0行,當它應該返回一個數字。
return "SqlServer.STR(ID) LIKE '824%'";
上面一行基本上轉化爲下面的線在SQL
SELECT COUNT(*) FROM Table1 WHERE STR(ID) LIKE '824%'
我需要在SQL是以下行(或類似的東西),因爲這將返回正確的行數。
SELECT COUNT(*) FROM Table1 WHERE CONVERT(NVARCHAR(50), ID) LIKE '824%'
我已經嘗試使用:
return "CAST(ID AS NVARCHAR(50)) LIKE '824%'";
但是這給在運行時出現以下錯誤:
類型 'NVARCHAR' 無法被發現。確保所需的 架構已加載,並且名稱空間已正確導入。
誰能告訴我如何使用SqlClient字符串函數或其他一些變體來做到這一點?
謝謝大家。
你可以改變你喜歡「%824%」? –
是的,這似乎工作,非常感謝。我可以問爲什麼它的工作原理是這樣嗎?再次感謝。如果你將這個添加到答案中,我會將其標記爲已回答。 – Mattplus
也許你應該以一種不需要複雜計算的方式存儲數據。如果你堅持,我已經提供了一個答案。 – usr