如何避免EF Core中的客户端计算

时间:2019-02-18 13:13:53

标签: .net-core ef-core-2.2

据我了解,当无法将EF Core转换为原始sql命令/ tsql时,它们将在本地运行某些操作。 我们如何禁用此功能?

1 个答案:

答案 0 :(得分:1)

要防止客户端对查询进行评估,可以覆盖DbContext的OnConfiguring事件。这是一个示例:

public class MyDbContext : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        base.OnConfiguring(optionsBuilder);
        optionsBuilder.ConfigureWarnings(warning =>
        {
            warning.Throw(RelationalEventId.QueryClientEvaluationWarning);
        });
    }
}

只要您尝试在客户端上进行评估的查询,此配置都会引发异常。