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