[英]IEnumerable<Entity>' does not contain a definition for 'GetAwaiter' for Async Task Method
我正在尝试从表中选择1条记录,但我不断收到的错误是
“ IEnumerable”不包含“ GetAwaiter”的定义,并且找不到找到接受类型为“ IEnumerable”的第一个参数的扩展方法“ GetAwaiter”(是否缺少using指令或程序集引用?)
public class IntermediaryAssignment
{
public string Company{get;set:}
public string RegistrationNumber{get;set:}
public bool Dispatched{get;set:}
}
public async Task<IntermediaryAssignment> PickOneSticker(string company,
string registrationNumber)
{
var db = new DatabaseContext();
var results = await (from s in db.IntermediaryAssignment
where s.Dispatched == false && s.CompanyCode ==
company && s.RegistrationNumber ==
registrationNumber orderby s.StickerCode
ascending select s).ToList().Take(1);
return results.FirstOrDefault();
}
var results = await (from s in db.IntermediaryAssignment
where s.Dispatched == false && s.CompanyCode ==
company && s.RegistrationNumber ==
registrationNumber orderby s.StickerCode
ascending select s).FirstOrDefaultAsync();
return results;
如果您打算根据订单购买第一件商品,则最好使用不带ToList()
和Take(1)
FirstOrDefault
FirstOrDefault
实现查询,并从数据库中获取第一项。
ToList()
如果您需要基于用于列表的过滤器获取项目。
在当前查询中.ToList().Take(1);
ToList()
将所有数据存储到内存中并获取第一个数据,您可以使用FirstOrDefault
从数据库直接获取第一个数据,而不是其他数据
var db = new DatabaseContext();
var results = await (from s in db.IntermediaryAssignment
where s.Dispatched == false && s.CompanyCode ==
company && s.RegistrationNumber ==
registrationNumber orderby s.StickerCode
ascending select s).ToListAsync());
return results.FirstOrDefault();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.