![](/img/trans.png)
[英]Inheritance Database in Entity Framework Core and ASP.NET Core MVC
[英]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.