实体框架,是否可以在where子句中使用减法
本文关键字:子句 where 框架 是否 实体 | 更新日期: 2023-09-27 18:16:43
我有2个数据库字段,需要根据这些值过滤结果。
作为一个例子,客户最大存储空间和使用中的存储空间。为了确定是否有人使用了更多的空间,我想这样做。
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相关的问题。由于某些原因,字段是"Unsigned INT",因此数据库无法理解计算中的负值。
两种情况都可以
是的,你可以做到。但是你必须使用ToList()
从数据库中获取记录。
var temp = db.Storege.Where(o => (o.max_storage_palces - o.places_in_use) < 0).ToList();
或
var temp = db.Storege.Where(o => (o.max_storage_palces < o.places_in_use ).ToList();