c # Dapper - utilizzando linq sul metodo QueryAsync
Sep 01 2020
Perché non posso usare .select su queryAsync quando funziona bene su Query? Ad esempio, qui il .select mi urla dicendomi che non può risolvere il simbolo "seleziona":
var result = await sqlConnection.QueryAsync<Product>(procedure,
commandType: CommandType.StoredProcedure).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
});
ma non appena passo a Query, non urla più. semmai ha problemi a risolvere le colonne fldCode da sp:
var result = sqlConnection.Query<Product>(procedure,
commandType: CommandType.StoredProcedure).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
});
perchè è questo?
Ho posto una domanda precedente qui C # Dapper mappatura delle colonne alle proprietà dell'entità - "Impossibile risolvere il simbolo" Seleziona ""
Risposte
1 Milney Sep 01 2020 at 09:06
I metodi asincroni restituiscono un'attività (fondamentalmente un segnaposto per il risultato finale dell'azione asincrona). È necessario attendere per ottenere il valore effettivo
var result = (await sqlConnection.QueryAsync<Product>(
procedure,
commandType: CommandType.StoredProcedure
)).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
}
);