我最近有一个MVC 4,.NET 4.5的项目,并使用EF 5.0 DbContext Generator使用EF 5.0(数据库优先)。然后我通过Nuget Manager升级到EF 6.0 alpha 2.我想使用新的异步模式但由于某种原因我没有.ToListAsync()可用。我以类似的方式引用上下文:
public class HomeController : Controller
{
TestContext db = new TestContext();
public async Task<ActionResult> Index()
{
var keywords = await db.Keywords.ToListAsync();
return View(keywords);
}
}
这是否在Database First中不可用,并且仅在Code First中可用?我怎样才能像上面的例子一样工作?我正在使用SQL Azure。
答案 0 :(得分:8)
异步。扩展方法在EF相关的System.Data.Entity.IQueryableExtensions
静态类中定义。所以你必须添加:
using System.Data.Entity;
在控制器类文件的开头,以便能够调用它们。
答案 1 :(得分:0)
我认为您可以像这样使用Task.Run
public async Task<ActionResult> Index()
{
var keywords = await Task.Run(() => db.Keywords.ToList());
return View(keywords);
}