У меня простая строка SQL такая:
"SELECT * FROM Office WHERE OfficeId IN @Ids"
Дело в том, что имя @Ids вводится в редакторе, так что это может быть что угодно, и моя проблема в том, что если я хочу пройти, скажем, массив целых чисел, он работает только с Dapper, если я использую:
var values = new DynamicParameters();
values.AddDynamicParams(new { Ids = new[] { 100, 101 } });
Но для этого требуется, чтобы я знал, что имя параметра - "Идентификаторы", и это не так в моем сценарии.
Я могу установить "динамический параметр" в Dapper с таким "динамическим" именем:
var values = new DynamicParameters();
values.Add("Ids", new[] { 100, 101 });
Но тогда Dapper не строит "IN (....)" SQL с отдельными параметрами для каждого значения.
Есть ли способ построить динамический объект, переданный в "AddDynamicParams", но задав имя и значение члена, не зная имя заранее?
Я мог бы изменить источник Dapper для работы над моим сценарием, но если кто-нибудь знает более простое и изящное решение этого, я был бы увлекателен!
С уважением Jens