que tienen cadena SQL simple como esto:AddDynamicParams Dapper de declaración en la "dinámica" nombre de parámetro
"SELECT * FROM Office WHERE OfficeId IN @Ids"
La cosa es que el nombre @Ids se introduce en un editor por lo que podría ser cualquier cosa, y mi problema es que si quiero pasar en, por ejemplo una matriz de enteros, sólo funciona con Dapper si uso:
var values = new DynamicParameters();
values.AddDynamicParams(new { Ids = new[] { 100, 101 } });
Pero esto me obliga a saber que el nombre del parámetro es Ids
y eso no es el caso en mi escenario
puedo establecer un "parámetro dinámico" en Dapper con un nombre "dinámica" de esta manera:
var values = new DynamicParameters();
values.Add("Ids", new[] { 100, 101 });
Pero entonces apuesto de no construir el SQL IN (....)
con parámetros independientes para cada valor.
¿Hay una manera de construir el objeto dinámico en el pasado a AddDynamicParams
pero estableciendo el nombre de miembro y el valor sin conocer el nombre de antemano?
Pude modificar la fuente de Dapper para que funcionara en mi caso, pero si alguien sabe de una solución más simple y elegante, ¡estaría encantado!
Muchas gracias Marc! ¡Funciona de maravilla! Es por eso que amo el código abierto ... ¡Excelente trabajo! –
@Jaynard meh, puede obtener soluciones rápidas en código abierto y de código cerrado. Para ser realmente un ejemplo de la ventaja de open-source, me habrías enviado una solicitud de extracción al arreglo; p –
jeje, eso es cierto, y recién había empezado a buscar a través del código fuente, pero me ganaste con un deslizamiento de tierra ;) –