J'ai une table de configuration générale où les paramètres sont stockés sous forme d'enregistrements de chaîne. La table a <5 enregistrements. J'ai besoin de renvoyer les données de cette table dans un résultat JSON que j'ai fait de cette façon
return Ok(new
{
SNAME = db.PAR.First(p => p.ID == 1).VAL.Trim(),
PART = db.PAR.First(p => p.ID == 2).VAL.Trim(),
NRZMAXEDIT = db.PAR.First(p => p.ID == 3).VAL,
.......
});
le code pourrait être amélioré, je l'ai donc réécrit pour:
var res = db.PAR.ToList();
return Ok(new
{ SNAME = res.First(p => p.ID == 1).VAL,
PART =res.First(p => p.ID == 2).VAL,
NRZMAXEDIT = res.First(p => p.ID == 3).VAL,
....
});
Cela fonctionne, mais si j’utilise async, var res = db.PAR.ToListAsync();
, Je reçois une erreur:
Task<List<<anonymous type: int ID, string VAL>>>
ne contient pas de définition deFirst
et aucune méthode d'extension d'First
d' accepter un premier argument de typeTask<List<<anonymous type: int ID, string VAL>>>
pourrait être trouvé (il vous manque une directive using ou une référence d'assembly?)
sur chaque ligne où j'utilise une requête comme ça:
res.First(p => p.ID == 1).VAL,
Merci
Vous devez utiliser await
mot - clé avant db.PAR.ToListAsync()
comme ci - dessous.
var res = await db.PAR.ToListAsync();
Remarque: le type de retour de ToListAsync()
est Task<List<TSource>>