AsyncQuery con postgresql e dapper che usa npqsql

async-await c#-4.0 dapper npgsql postgresql

Domanda

Stavo provando dapper orm e recentemente hanno aggiunto il supporto asynquery. L'ho cercato su google su questo. È meraviglioso se hai molto traffico sul tuo sito. Lo stavo provando con postgressql e azzeccato. Ora, in connessione se sto passando una semplice stringa di connessione, funziona bene. Ma come per un paio di articoli non è vero async se voglio usarlo, ho bisogno di una stringa di connessione asincrona.

Ora, non so come usare con Postgresql e npgsql. Ecco un articolo completo per riferimento dove l'autore spiega come farlo con SQL Server.

Cosa devo fare se voglio lo stesso con Postgresql?

Per favore fatemi sapere se sono necessari ulteriori requisiti.

Risposta accettata

L'autore di questo articolo è in qualche modo sbagliato: in .NET 4.5 la proprietà AsynchronousProcessing viene ignorata perché non è più necessaria. È possibile iniziare a chiamare i metodi Async di SqlClient senza stringhe di connessione speciali.

Se le operazioni verranno eseguite in modo asincrono, dipende dal provider del database. Ad esempio, l'implementazione predefinita di DbCommand.ExecuteDbDataReaderAsync viene effettivamente eseguita in modo sincrono e blocca il thread chiamante. SqlCommand esegue l'override di questo metodo ed esegue in modo asincrono.

Sfortunatamente, NpgsqlCommand non sovrascrive questo metodo, quindi ti rimane solo l'esecuzione sincrona.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow