簡體   English   中英

不能使用.ToListAsync()擴展方法(.net 4.7)

[英]Can not use .ToListAsync() extension method (.net 4.7)

我正在嘗試使用擴展方法.ToListAsync()但由於某種原因,該擴展方法不適用於我。

我的設置如下:

  • 我在其中包含了using System.Data.Entity; Web Project(.Net 4.7) using System.Data.Entity;
  • 我在這里插入了DataAcess Project(.Net 4.7),插入了Entity Frame Work v6.2

我的Web項目確實引用了我的DataAccess項目。

我不確定我哪里出錯了。 有人可以請教嗎?

謝謝!

ToListAsync方法是QueryableExtensions類的一部分,該類在System.Data.Entity命名空間中,也是EntityFramework.dll庫的一部分。 這意味着您需要導入名稱空間(即, using System.Data.Entity; )以及引用EntityFramework.dll

請注意,在經典的.Net Framework項目中,引用不是可傳遞的。 換句話說,如果要使用庫中的類,則必須在每個項目中引用它。 但是,.Net Core中這已更改。

通過引用EntityFramework.dll並using System.Data.Entity;使.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()方法,則可能缺少using System.Data.Entity; 在你班上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM