我存儲在我的數據庫郵政編碼,並試圖下面的T-SQL轉換爲LINQ到實體比較:字符串在LINQ到實體
SELECT *
FROM Regions
WHERE EndZip >= '12345'
我試圖像下面的代碼:
var result = this.DbContext.Regions.Where(e => e.EndZip.CompareTo("12345") >= 0);
但我得到一個EntityCommandExecutionException:「二進制運算符GreaterThanOrEqual沒有爲'System.String'和'System.String'類型定義。」
我能夠做到這一點,如果我將我的IQueryable轉換爲IEnumerable,但我希望這個查詢在SQL中執行的性能原因。
有誰知道我可以如何比較LINQ到實體的字符串?
您是否在嘗試查找大於指定郵政編碼的郵政編碼?試圖瞭解目標。 – CmdrTallen 2014-11-20 18:38:41
這是正確的。我們正在存儲具有郵政編碼範圍的記錄,並試圖查找給定郵政編碼落在記錄範圍內的記錄。 – jawang35 2014-11-20 18:39:45
我相信你的實際問題是試圖使用'String'的'CompareTo'方法,這是LINQ to Entities不支持的。 – galenus 2014-11-20 18:40:10