簡體   English   中英

ASP.NET MVC Core和Entity Framework中的ToListAsync無法正常工作

[英]ToListAsync in ASP.NET MVC Core and Entity Framework not working

我在ASP.NET MVC Core和Entity Framework中有以下代碼,當我執行ToListAsync時出現以下錯誤。

附加信息:源IQueryable未實現IDbAsyncEnumerable。 只有實現IDbAsyncEnumerable的源才能用於Entity Framework異步操作。 有關詳細信息,請參閱http://go.microsoft.com/fwlink/?LinkId=287068

這是我的代碼:

var states = mDbContext.State.ToListAsync();
var countries = mDbContext.Country.ToListAsync();

mMemoryCache.Set(Countries, await countries,
    new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.MaxValue));
mMemoryCache.Set(States, await states,
   new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.MaxValue));

我的上下文類擴展自DbContext ,我使用了EF 6。

public virtual DbSet<Country> Country { get; set; }

public virtual DbSet<State> State { get; set; }

知道為什么即使安裝了所有東西我也無法執行ToListAsync()

ToListAsync()在System.Data.Entity和Microsoft.EntityFrameworkCore中定義。 如果同時導入兩者,則默認為System.Data.Entity中的定義,生成上述錯誤。 刪除System.Data.Entity並使用Microsoft.EntityFrameworkCore添加try添加;

EF6!= EF Core。 它們在某種程度上具有相似的特征,但它們不兼容。

ToListAsync是一個EF Core功能,您嘗試在EF6 DbContext上使用它。

這就是為什么它不起作用。 如果要使用此功能,則必須使用EF Core DbContext - 但是,您可能再次使用代碼中其他位置的EF6功能,而這些功能將停止工作。

暫無
暫無

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

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