如何让这个查询像在sql中一样工作?在sql中我可以在字符串上使用<和>运算符.
我一直在谷歌搜索大约20分钟,但还没有找到解决方案.
我无法将r.ExemptionCode转换为整数,因为它可能具有'91A,9AA,ZZZ,Z01'等值
from r in results
where (r.ExemptionCode > "900" || r.ExemptionCode == "701" || r.ExemptionCode == "702" || r.ExemptionCode == "721" || r.ExemptionCode == "724")
select r
Run Code Online (Sandbox Code Playgroud) 在大型表(> 1000000行)上使用“跳过/执行”时,SQL Server变得非常慢。表的关键列类型为Guid,我知道最后读取的行。我尝试加载下一页
var keyGuid = Guid.NewGuid(); // Key Guid of the last read row
// var result1 = DbContext.Entity.Where(x => x.Id > keyGuid).Take(10).ToList();
var result2 = DbContext.Entity.Where(x => x.Id.CompareTo(keyGuid) > 0).Take(10).ToList();
Run Code Online (Sandbox Code Playgroud)
虽然第一种方法无法编译,但是第二种方法在客户端上评估查询(QueryClientEvaluationWarning),并且也没有用。
不幸的是,我无法以任何方式修改数据库。
是否有没有自定义SQL的“本机” EF Core解决方案?如果可以拦截SQL代码生成并手动解析表达式,那可能没问题(但是如何?)