Как избежать вычисления на стороне клиента в EF Core
Насколько я понимаю, EF Core будет запускать некоторые действия локально, когда они не могут быть преобразованы в raw sql команды / tsql. Как мы можем отключить эту функцию?
1 ответ
Решение
Чтобы предотвратить оценку ваших запросов клиентом, вы можете переопределить событие OnConfiguring объекта DbContext. Вот пример:
public class MyDbContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.ConfigureWarnings(warning =>
{
warning.Throw(RelationalEventId.QueryClientEvaluationWarning);
});
}
}
Эта конфигурация будет генерировать исключение каждый раз, когда вы пытаетесь выполнить запрос, который будет оценен на клиенте.