【发布时间】:2015-01-04 17:14:45
【问题描述】:
在处理作为聚集索引的 SQL Server 和日期时,为了正确访问索引,查询必须采用以下形式:
select fields
from dbo.MyTable
where myDate between @begDate and @endDate
between 运算符是触发集群查找的原因。如何告诉 LINQ 发出 between 运算符而不是 >= this 和
【问题讨论】:
-
您是否见过 BETWEEN 和 >=/
-
不一定是不同的计划。最终发生的事情称为参数嗅探。
-
它可能不是 EF 的一部分。 But this article might help you implement it yourself。或者,对于需要优化的查询,您可能会考虑根本不使用 EF - 使用存储过程,Dapper.Net,或者只是简单的原始 ADO。
-
@GeorgeMauer,我建议将其发布为答案;)
标签: sql linq entity-framework