Как лучше всего написать запрос с предложением IN с использованием Dapper ORM, когда список значений для предложения IN поступает из бизнес-логики? Например, допустим, у меня есть запрос:
SELECT *
FROM SomeTable
WHERE id IN (commaSeparatedListOfIDs)
commaSeparatedListOfIDs
передается из бизнес-логики, и это может быть любой тип IEnumerable (of Integer)
. Как мне составить запрос в этом случае? Должен ли я делать то, что делал до сих пор, а именно конкатенацию строк, или есть какая-то расширенная техника сопоставления параметров, о которой я не знаю?
Пример для пост-ГРЭС:
string sql = "SELECT * FROM SomeTable WHERE id = ANY(@ids)"
var results = conn.Query(sql, new { ids = new[] { 1, 2, 3, 4, 5 }});