任务 >>'不包含'First'的定义[duplicate]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

我有一个通用配置表,其中设置存储为字符串记录。表有<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>>>不包含First的定义,也没有扩展方法First接受Task<List<<anonymous type: int ID, string VAL>>>类型的第一个参数(你是否缺少using指令或汇编引用?)

在我使用查询的每一行上:

res.First(p => p.ID == 1).VAL,

谢谢

entity-framework asp.net-core entity-framework-core ef-core-2.0
1个回答
1
投票

您需要在await之前使用db.PAR.ToListAsync()关键字,如下所示。

var res = await db.PAR.ToListAsync();

注意:ToListAsync()的返回类型是Task<List<TSource>>

© www.soinside.com 2019 - 2024. All rights reserved.