Entities Framework 6 alpha 2 - Patrones asíncronos

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

Pregunta

Recientemente tengo un proyecto con MVC 4, .NET 4.5 y uso de EF 5.0 (Database First) usando el generador de DbContext de EF 5.0. 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 .ToListAsync () disponible. Me estoy refiriendo al contexto de una manera similar:

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

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

        return View(keywords);
    }
}

¿No está disponible en la base de datos primero y solo está disponible en el código primero? ¿Cómo puedo hacer que algo como el ejemplo anterior funcione? Estoy usando SQL Azure.

Respuesta aceptada

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

using System.Data.Entity;

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


Respuesta popular

Creo que puedes usar Task.Run como esta

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

    return View(keywords);
}



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué