長話短說我需要根據範圍(高/低值)獲取項目,但數據庫中的列/屬性爲string
,而我的不允許允許更改那。那麼我該如何比較一個範圍呢?比較實體框架中的字符串編號範圍
我似乎無法找到一種方法來將實體屬性轉換爲int
,所以我可以比較。 當然Convert.toInt32
也不起作用。我沒有看到任何SqlFunctions
這將幫助,但也許我忽略了一些容易。
我一直在玩它,但到目前爲止沒有運氣。這是我的最新嘗試不起作用:
var result = Repo.Query().Where(e => e.SerialNumber.Cast<int>().First() >= myIntLowVariable && e.SerialNumber.Cast<int>().First() <= myIntHighVariable);
有什麼建議嗎?
更新
用戶輸入兩個SerialNumbers,我需要在這個範圍內返回所有的記錄,但是SerialNumber
是string/varchar
列/屬性。
數據 - 對不起不知道如何把一個表在這裏..
SN ::說明
1 ::牛奶
2 ::雞蛋
3 ::麪包
4 ::奶酪
5 ::培根
6 ::酸奶
7 ::芥末
8 ::雞
9 ::披薩
10 ::籌碼
什麼樣的字符串存儲在你的數據庫中?它是一種固定的格式?一些例子將有助於獲得更好的答案。 –
你能舉幾個例子的數據請 –
最大位數是多少?構建一個查看長度的查詢並根據每個1,2,3,...數字進行比較是否可行?或者,將零填充固定爲固定長度並將其作爲字符串進行比較? –