任务 <List<<anonymous type>>>' 不包含 'First' 的定义
Task<List<<anonymous type>>>' does not contain a definition for 'First'
我有一个通用配置 table,其中设置存储为字符串记录。 Table 有 <5 条记录。我需要将此 table 中的数据 return 转换为 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,
....
});
它有效,但如果我使用异步 var res = db.PAR.ToListAsync();
,我会收到一个错误:
Task<List<<anonymous type: int ID, string VAL>>>
does not contain a
definition for First
and no extension method First
accepting a
first argument of type Task<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,
谢谢
您需要在 db.PAR.ToListAsync()
之前使用 await
关键字,如下所示。
var res = await db.PAR.ToListAsync();
注:ToListAsync()
的return类型为Task<List<TSource>>
我有一个通用配置 table,其中设置存储为字符串记录。 Table 有 <5 条记录。我需要将此 table 中的数据 return 转换为 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,
....
});
它有效,但如果我使用异步 var res = db.PAR.ToListAsync();
,我会收到一个错误:
Task<List<<anonymous type: int ID, string VAL>>>
does not contain a definition forFirst
and no extension methodFirst
accepting 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,
谢谢
您需要在 db.PAR.ToListAsync()
之前使用 await
关键字,如下所示。
var res = await db.PAR.ToListAsync();
注:ToListAsync()
的return类型为Task<List<TSource>>