0
我有2個數據庫字段,需要根據這些值過濾結果。實體框架,是否有可能在where子句中使用substract
舉例來說,客戶最大存儲位置和存儲位置正在使用中。要確定是否有人使用更多的空間,我想這樣做。
var temp = db.Storege.Where(o => (o.max_storage_places - o.places_in_use) < 0).ToList()
但是這是行不通的。這是可能的還是應該使用不同的方法?
編輯:
數據庫是MySQL,它是通過實體框架使用。這兩個字段的數據類型都是數據庫中的INT值。
我測試了以下版本的工作,其建議
var temp = db.Storege.Where(o => o.max_storage_places < o.places_in_use).ToList()
根源:
我更深入地研究這個問題,並發現這是MySQL的相關的問題。這些字段出於某種原因「無符號整數」,因此數據庫無法理解計算中的負值。
兩種情況將工作
這是什麼'max_storage_palces'的數據類型? – Sampath
爲什麼你認爲這不起作用? – tym32167
當「不工作」時會發生什麼?什麼是數據類型(DB和.NET)?爲什麼不'o.max_storage_palces