C# 实体框架使用 SQL 选项/提示

问题描述 投票:0回答:1

我正在 WPF 应用程序中进行一些搜索优化。

有一个搜索 XAML 视图,它使用带有

IQueryable
的 SQL Server 视图。

在SQL Server中,当我从视图中获取

OPTION(QUERYTRACEON 8649)
部分时,我可以使用
SELECT
,但在视图本身中,我不能使用它。这
OPTION
使我的查询速度提高了 3 倍以上。我每次执行它都会清除缓存。

由于此 SQL Server 视图的限制,我需要以某种方式将其添加到 C# 代码中。

那么,我怎样才能添加这个

OPTION
以在
IQueryable
中使用?

c# sql-server entity-framework sql-optimization query-hints
1个回答
0
投票

您可以使用拦截器添加查询提示。

阅读此 sample by microsoft 的详细信息。

另外,你必须像这样注册拦截器类。

private void DependencyInjection(IServiceCollection services)
{
 services.AddDbContext<SampleDbContext>(options =>
                options.UseSqlServer("some connection string") 
                       .AddInterceptors(new TaggedQueryCommandInterceptor())
 );
}
© www.soinside.com 2019 - 2024. All rights reserved.