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

how to avoid client side computation in EF Core

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

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

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

只要您尝试将在客户端上评估的查询,此配置就会抛出异常。