C# 实体框架,可以在where子句中使用减法吗

C# 实体框架,可以在where子句中使用减法吗,c#,entity-framework,C#,Entity Framework,我有2个数据库字段,需要根据这些值筛选结果 例如,客户最大存储空间和使用的存储空间。为了确定是否有人正在使用更多的空间,我想这样做 var temp = db.Storege.Where(o => (o.max_storage_places - o.places_in_use) < 0).ToList() var temp=db.Storege.Where(o=>(o.max\u storage\u places-o.places\u in\u use)o.max\u storag

我有2个数据库字段,需要根据这些值筛选结果

例如,客户最大存储空间和使用的存储空间。为了确定是否有人正在使用更多的空间,我想这样做

var temp = db.Storege.Where(o => (o.max_storage_places - o.places_in_use) < 0).ToList()
var temp=db.Storege.Where(o=>(o.max\u storage\u places-o.places\u in\u use)<0)。ToList()
但这是行不通的。这是可能的还是我应该使用不同的方法

编辑:

数据库为MySQL,通过实体框架使用。这两个字段的数据类型都是数据库中的INT值

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_places < o.places_in_use).ToList()
var temp=db.Storege.Where(o=>o.max\u storage\u places
根本原因:

我更深入地调查了这个问题,发现这是与MySQL相关的问题。由于某些原因,这些字段是“Unsigned INT”,所以for database无法理解计算中的负值


这两种情况都可以

是的,您可以这样做。但是您必须使用
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\u storage\u palces-o.places\u in\u use)<0).ToList();

var temp=db.Storege.Where(o=>(o.max\u storage\u palces
是的,您可以这样做。但是您必须使用
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\u storage\u palces-o.places\u in\u use)<0).ToList();

var temp=db.Storege.Where(o=>(o.max\u storage\u palces
max\u storage\u palces的数据类型是什么
?为什么您认为这不起作用?当它“不起作用”时会发生什么?数据类型是什么(DB和.NET)?为什么不
o.max\u storage\u palces
?您确定应该是
palces
而不是
places
?是的,可以从另一个值中减去一个值。到底什么不起作用?查询不会返回任何结果。此
max\u storage\u palces
的数据类型是什么?为什么您认为这不是工作?当它“不工作”时会发生什么?数据类型是什么(DB和.NET)?为什么不使用
o.max\u storage\u palces
?您确定应该是
palces
而不是
places
?是的,可以从另一个值中减去一个值。到底什么不工作?查询不会返回任何结果。