LINQ方法语法确实存在像这样的Async方法:
但是在查询语法中不存在这样的选项,如下所示:
var peter = await peopleCollection.Find(x => x.Name == "Peter").FirstOrDefaultAsync();
但是在查询语法中不存在这样的选项,如下所示:
var peter = await (from x in collection.AsQueryable()
where x.Name == "Peter"
select x).FirstOrDefaultAsync(); //COMPILETIME ERROR
这是真的吗?
如果您引用了 Entity Framework 库并使用了 using System.Data.Entity; 声明,那么 FirstOrDefaultAsync() 在编译时存在,但在运行时会出现错误。如果你想进行测试,请注意。
query = from .....;
然后peter = await query.FirstOrDefaultAsync()
吗?据我所知,你实际上不会像那样包装一个查询定义。 - Neil Lunn