C# 如何使用LINQ检查值重叠
C#实体框架中如何避免范围重叠C# 如何使用LINQ检查值重叠,c#,linq,entity-framework,C#,Linq,Entity Framework,C#实体框架中如何避免范围重叠 select * from globalsettings where minvalue between 3 and 6 OR maxvalue between 3 and 6 int checkRange=(来自db.globalSetting中的globalSetting 其中((globalSetting.MinValue>=MinValue &&globalSetting.MinValue=MinValue &&globalSetting.MaxValu
select * from globalsettings
where minvalue between 3 and 6 OR maxvalue between 3 and 6
int checkRange=(来自db.globalSetting中的globalSetting
其中((globalSetting.MinValue>=MinValue
&&globalSetting.MinValue=MinValue
&&globalSetting.MaxValue公认的答案当然很有效,但出于好奇,我想指出另一种方法,因为您提到您正在使用实体框架。
您可以使用:
int checkRange = (from globalSetting in db.GlobalSetting
where ((globalSetting.MinValue >= minValue
&& globalSetting.MinValue <= maxValue)
|| (globalSetting.MaxValue >= minValue
&& globalSetting.MaxValue <= maxValue))
select globalSetting)
.Count();
var vals = db.GlobalSetting.Where("(minvalue between 3 and 6) or (maxvalue between 3 and 6)");
//if you just want the count of these:
int checkRange = vals.Count();