實體框架6 alpha 2 - 異步模式

asp.net-mvc asp.net-mvc-4 azure-sql-database c# 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。

一般承認的答案

異步。擴展方法在EF相關的System.Data.Entity.IQueryableExtensions靜態類中定義。所以你必須添加:

using System.Data.Entity;

在控制器類文件的開頭,以便能夠調用它們。


熱門答案

我認為你可以像這樣使用Task.Run

public async Task<ActionResult> Index()
{
    var keywords = await Task.Run(() => db.Keywords.ToList());

    return View(keywords);
}



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因