ho semplice stringa SQL come questo:AddDynamicParams Dapper per IN dichiarazione con "dinamico" nome del parametro
"SELECT * FROM Office WHERE OfficeId IN @Ids"
la cosa è che viene immesso il nome @Ids in un editor quindi potrebbe essere qualsiasi altra cosa, e la mia problema è che se voglio passare in, diciamo un array di interi, funziona solo con Dapper se uso:
var values = new DynamicParameters();
values.AddDynamicParams(new { Ids = new[] { 100, 101 } });
Ma questo mi obbliga a sapere che il nome del parametro è Ids
e che non è il caso in il mio scenario
posso impostare un "parametro dinamico" in Dapper con un nome "dinamica" come questo:
var values = new DynamicParameters();
values.Add("Ids", new[] { 100, 101 });
Ma poi Dapper non costruisce la IN (....)
SQL con parametri distinti per ogni valore.
C'è un modo per costruire l'oggetto dinamico passato a AddDynamicParams
ma impostando il nome membro e il valore senza conoscere il nome in anticipo?
Potrei modificare la sorgente di Dapper per funzionare per il mio scenario, ma se qualcuno sa di una soluzione più semplice ed elegante per questo sarei grato!
Grazie mille Marc! Funziona come un fascino! Questo è il motivo per cui amo l'open source .. Lavoro superbo! –
@Jaynard meh, puoi ottenere correzioni rapide sia in open-source che in closed-source. Per essere davvero un esempio del vantaggio di open-source, mi avresti inviato una richiesta di pull alla correzione: p –
hehe è vero, e avevo appena iniziato a cercare il codice sorgente ma mi hai battuto per una frana ;) –