Объекты Framework 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 (Database First) с использованием EF 5.0 DbContext Generator. Затем я обновился через Nuget Manager до EF 6.0 alpha 2. Я хотел использовать новые шаблоны async, но по какой-то причине у меня нет .ToListAsync (). Я ссылаюсь на контекст следующим образом:

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

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

        return View(keywords);
    }
}

Разве это не доступно в базе данных 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
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему