c # Dapper - usando linq no método QueryAsync
Sep 01 2020
Por que não posso usar .select em um queryAsync quando funciona bem no Query? Por exemplo, aqui o .select grita comigo dizendo que não é possível resolver o símbolo "selecionar":
var result = await sqlConnection.QueryAsync<Product>(procedure,
commandType: CommandType.StoredProcedure).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
});
mas assim que eu mudo para Query, ele não grita mais. se houver alguma coisa, ele tem problemas para resolver as colunas fldCode do sp:
var result = sqlConnection.Query<Product>(procedure,
commandType: CommandType.StoredProcedure).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
});
por que é isso?
Eu fiz uma pergunta anterior aqui C # Dapper mapeando colunas para propriedades de entidade - "Não é possível resolver o símbolo 'Selecionar'"
Respostas
1 Milney Sep 01 2020 at 09:06
Os métodos assíncronos retornam uma tarefa (basicamente um espaço reservado para o resultado final da ação assíncrona). Você precisa aguardar para obter o valor real
var result = (await sqlConnection.QueryAsync<Product>(
procedure,
commandType: CommandType.StoredProcedure
)).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
}
);
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas