Pregunta Entidades Framework 6 alpha 2 - Async Patterns


Recientemente tuve un proyecto con MVC 4, .NET 4.5 y el uso de EF 5.0 (Database First) usando EF 5.0 DbContext Generator. Luego actualicé a través de Nuget Manager a EF 6.0 alpha 2. Quería usar los nuevos patrones asíncronos, pero por alguna razón no tengo disponible .ToListAsync (). Me refiero al contexto de manera similar:

public class HomeController : Controller
{
    TestContext db = new TestContext();

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

        return View(keywords);
    }
}

¿Esto no está disponible en Database First, y solo está disponible en Code First? ¿Cómo puedo hacer que algo como el ejemplo anterior funcione? Estoy usando SQL Azure.


5
2017-12-30 20:42


origen


Respuestas:


Async. Los métodos de extensión se definen en EF relacionados System.Data.Entity.IQueryableExtensions clase estática Así que debes añadir:

using System.Data.Entity;

al comienzo de su archivo de clase de controlador para poder llamarlos.


8
2017-12-30 20:59



Creo que puedes usar Task.Run como este

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

    return View(keywords);
}

0
2017-12-30 20:47