我在asp.net mvc核心和实体框架中有以下代码,当我执行ToListAsync
时,会得到以下错误。
附加信息:源IQueryable未实现
IDBasyncEnumerable。仅来源
可用于实体框架的IDBasyncEnumerable实现
异步操作。详情请见
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));
我的context类扩展自
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
添加;