我有一个使用EntityFramework加载的数据库。
在此数据库中,有一个包含两列的表。这些列中的2个称为ZipcodeFrom和ZipcodeTill。表格中的邮政编码来自不同的国家,因此没有真正的标准格式。
我现在遇到的问题如下。
我收到一个邮政编码,我需要找到包含与接收到的邮政编码相关联的邮政编码范围的行。
我不能使用SQL使用BETWEEN函数。所以我正在寻找C#的BETWEEN函数if (Zipcode BETWEEN ZipcodeFrom and ZipcodeTill)
假设您按字母顺序进行此BETWEEN
操作,这将有效地模仿SQL操作:
var zipCode = "SOMECODE";
var result = from row in db.Table
where row.ZipcodeFrom <= zipCode
&& row.ZipcodeTo >= zipCode;
如果您的提供商不使用支持<
,<=
,>
和>=
运营商,你应该能够使用string.Compare
,而不是:
var result = from row in db.Table
where string.Compare(row.ZipcodeFrom, zipCode) <= 0
&& string.Compare(row.ZipcodeTo, zipCode) >= 0;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句