我存储在我的数据库邮政编码,并试图下面的T-SQL转换为LINQ到实体比较:字符串在LINQ到实体
SELECT *
FROM Regions
WHERE EndZip >= '12345'
我试图像下面的代码:
var result = this.DbContext.Regions.Where(e => e.EndZip.CompareTo("12345") >= 0);
但我得到一个EntityCommandExecutionException:“二进制运算符GreaterThanOrEqual没有为'System.String'和'System.String'类型定义。”
我能够做到这一点,如果我将我的IQueryable转换为IEnumerable,但我希望这个查询在SQL中执行的性能原因。
有谁知道我可以如何比较LINQ到实体的字符串?
您是否在尝试查找大于指定邮政编码的邮政编码?试图了解目标。 – CmdrTallen 2014-11-20 18:38:41
这是正确的。我们正在存储具有邮政编码范围的记录,并试图查找给定邮政编码落在记录范围内的记录。 – jawang35 2014-11-20 18:39:45
我相信你的实际问题是试图使用'String'的'CompareTo'方法,这是LINQ to Entities不支持的。 – galenus 2014-11-20 18:40:10