Когда LINQ-запрос EF Core реально уходит в базу
В методе репозитория написано:
var query = db.Orders.Where(o => o.Total > 1000);
_logger.LogInformation("Запрос построен");
var list = await query.ToListAsync();
В какой момент EF Core отправит SQL в базу данных?
- На строке с Where: именно она формирует и выполняет условие отбора
- На строке с ToListAsync: до этого выражение только строится и никуда не отправляется
- Дважды: сначала на Where, потом ещё раз на ToListAsync
- При создании DbContext: EF заранее вычитывает таблицы, к которым обращается репозиторий
