查找 2 个字符串之间的字符串值

Find a string value between 2 strings

我有一个用 EntityFramework 加载的数据库。

在此数据库中有一个 table,其中包含几列。其中 2 个列称为 ZipcodeFrom 和 ZipcodeTill。 table 中的邮政编码来自不同的国家,因此没有真正的标准格式。

我现在遇到的问题如下

我收到一个邮政编码,我需要找到包含与收到的邮政编码关联的邮政编码范围的行。

我无法使用 SQL 来使用 BETWEEN 函数。所以我正在寻找 C# if (Zipcode BETWEEN ZipcodeFrom and ZipcodeTill)

的 BETWEEN 函数

假设您按字母顺序执行此操作,这实际上模仿了 SQL BETWEEN 操作:

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;