Dapper AddDynamicParams для оператора IN с «динамическим» именем параметра

У меня есть простая строка SQL, как это:

"SELECT * FROM Office WHERE OfficeId IN @Ids"

Дело в том, что имя @Ids вводится в редакторе, поэтому оно может быть любым, и моя проблема в том, что если я хочу передать, скажем, массив целых чисел, он работает только с Dapper, если я использую:

var values = new DynamicParameters();
values.AddDynamicParams(new { Ids = new[] { 100, 101 } });

Но это требует от меня ЗНАНИЯ, что имя параметраIds и это не так в моем сценарии.

Я могу установить «динамический параметр» в Dapper с «динамическим» имя как это:

var values = new DynamicParameters();
values.Add("Ids", new[] { 100, 101 });

Но тогда Даппер не создаетIN (....) SQL с отдельными параметрами для каждого значения.

Есть ли способ построить динамический объект, переданный вAddDynamicParams но установить имя члена и значение, не зная заранее имя?

Я мог бы изменить исходный код Dapper для работы в моем сценарии, но если бы кто-нибудь знал о более простом и элегантном решении этого вопроса, я был бы очень рад!

Ответы на вопрос(1)

Ваш ответ на вопрос