实体框架6 alpha 2 - 异步模式

时间:2012-12-30 20:42:56

标签: c# asp.net-mvc asp.net-mvc-4 azure-sql-database entity-framework-6

我最近有一个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。

2 个答案:

答案 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);
}