Dapper.NET Uso di base


Esempio

Non è sempre possibile impacchettare ordinatamente tutti i parametri in un singolo oggetto / chiamata. Per aiutare con scenari più complicati, dapper consente al parametro param di essere un'istanza IDynamicParameters . Se si esegue questa operazione, il metodo AddParameters personalizzato viene chiamato al momento opportuno e viene consegnato il comando a cui aggiungere. Nella maggior parte dei casi, tuttavia, è sufficiente utilizzare il tipo di DynamicParameters preesistente:

var p = new DynamicParameters(new { a = 1, b = 2 });
p.Add("c", dbType: DbType.Int32, direction: ParameterDirection.Output);
connection.Execute(@"set @c = @a + @b", p);
int updatedValue = p.Get<int>("@c");

Questo mostra:

  • (facoltativo) popolazione da un oggetto esistente
  • (facoltativo) aggiunta di parametri aggiuntivi al volo
  • passare i parametri al comando
  • recuperare qualsiasi valore aggiornato dopo che il comando è terminato

Si noti che a causa di come funzionano i protocolli RDBMS, di solito è solo affidabile ottenere valori di parametri aggiornati dopo che tutti i dati (da un'operazione Query o QueryMultiple) sono stati completamente utilizzati (ad esempio, su SQL Server, i valori dei parametri aggiornati sono alla fine del flusso TDS).