У меня есть List<Guid>
(также пробовал с простым массивом), который я хотел бы использовать в запросе.Dapper генерирует SQL и правильно подставляет параметры для пронумерованных параметров.Однако PG жалуется на синтаксис в параметре list.Никаких дополнительных подробностей не приводится.Скопировав сгенерированный SQL и подставив числа с действительными значениями (добавив символы скобки к параметру списка), запрос работает.
Вот неправильное предложение в сгенерированном SQL:
WHERE (
names.tenant = $1
AND scan_results.tenant = $1
AND scan_results.scan IN $2
)
ОригиналСтрока оператора для Dapper:
WHERE (
file_names.tenant = @tenantId
AND scan_results.tenant = @tenantId
AND scan_results.scan IN @validScans
)
Запрос выполняется с использованием con.Query
, например:
con.Query(stmt, new
{
tenantId = tenant.Id,
validScans = tenant.LatestScans // .ToArray()
});
Точная ошибка Postgres:
ERROR: syntax error at or near "$2" at character ...