Я пытаюсь заново создать запросы AutoQuery вне запроса на обслуживание. Я делаю это, потому что я даю пользователю возможность сохранить запрос, а затем использовать эти данные в другом месте. Я сохраняю данные строки запроса, поэтому пытаюсь создать запрос из сохраненной строки запроса.
Мне нужно 2 вещи.
1) запрос, который возвращает полные данные, не ограниченные размером страницы автозапроса по умолчанию
2) запрос, который возвращает количество
Я попытался сделать запрос следующим образом:
IAutoQueryDb _autoQuery = HostContext.TryResolve<IAutoQueryDb>();
var dto = new MyQueryDbClass();
Dictionary<string, string> pars = GetParameters();
var query = _autoQuery.CreateQuery(dto, pars);
Проблема в том, что сгенерированный запрос имеет имя таблицы объекта ответа, а не фактическую таблицу, поэтому он не работает. Также я не могу позвонить по номеру ToCountSatement()
. Он также ограничен размером страницы по умолчанию.
Есть ли способ преобразовать строку запроса AutoQuery в SqlExpression
, чтобы я мог выполнить ее и получить инструкцию count?