我正在尝试使用扩展方法.ToListAsync()
,但由于某种原因,我无法使用此扩展方法。
我的设置如下:
using System.Data.Entity;
Entity Frame Work v6.2
我的Web项目确实引用了我的DataAccess项目。
我不知道我哪里出错了。有人可以建议吗?
谢谢!
答案 0 :(得分:5)
ToListAsync
方法是QueryableExtensions
类的一部分,它位于System.Data.Entity
命名空间中,是EntityFramework.dll
库的一部分。这意味着您需要导入名称空间(即using System.Data.Entity;
)以及引用EntityFramework.dll
。
请注意,在经典的.Net Framework项目中,引用不具有传递性。换句话说,如果要使用库中的类,则必须在每个项目中引用它。这在.Net Core中已经发生了变化。
答案 1 :(得分:2)
虽然通过引用EntityFramework.dll和containerBottomConstraint.isActive = true
使.ToListAsync()
方法可用,但它仅适用于实现using System.Data.Entity;
接口的类型。
使用它的一个例子:
IQueryable
请注意,如果您看不到private async Task<List<Book>> GetAllBooksAsync() {
var books = new List<Book>();
var query = from item in books select item;
return await query.AsQueryable().ToListAsync();
}
方法,则可能会错过班级中的ToListAsync()
。