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

jam*_*nde 5 c# asp.net-mvc entity-framework asp.net-core-mvc

我在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));
Run Code Online (Sandbox Code Playgroud)

我的上下文类扩展了DbContext,我使用了EF 6.

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

public virtual DbSet<State> State { get; set; }
Run Code Online (Sandbox Code Playgroud)

知道为什么ToListAsync()即使我安装了所有东西也无法执行?

小智 16

ToListAsync()在System.Data.Entity和Microsoft.EntityFrameworkCore中定义.如果同时导入两者,则默认为System.Data.Entity中的定义,生成上述错误.删除System.Data.Entity并使用Microsoft.EntityFrameworkCore添加try添加;

  • 具有讽刺意味的是,它帮助我解决了一个无关的问题 (3认同)
  • 这应该是一条评论,因为它没有回答问题,也没有解释为什么这会有所帮助。 (2认同)