У меня есть общая таблица конфигурации, где настройки хранятся в виде строковых записей. В таблице <5 записей. Мне нужно вернуть данные из этой таблицы в результат json Я сделал так
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,
.......
});
код можно улучшить, поэтому я переписал его так:
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,
....
});
Это работает, но если я использую async var res = db.PAR.ToListAsync();, я получаю сообщение об ошибке:
Task<List<<anonymous type: int ID, string VAL>>>does not contain a definition forFirstand no extension methodFirstaccepting a first argument of typeTask<List<<anonymous type: int ID, string VAL>>>could be found (are you missing a using directive or an assembly reference?)
в каждой строке, где я использую такой запрос:
res.First(p => p.ID == 1).VAL,
Благодарность





Вам необходимо использовать ключевое слово await перед db.PAR.ToListAsync(), как показано ниже.
var res = await db.PAR.ToListAsync();
Примечание: Тип возврата ToListAsync() - Task<List<TSource>>
Вы забыли ключевое слово
await:var res = await db.PAR.ToListAsync();