Есть ли способ запустить Database.SqlQuery как async?

У меня есть следующее:

var sql = @"Select 
                case when Test.TestTypeId = 1 then Exam.Name
                     when Test.TestTypeId = 2 then Topic.Name
                end as Name,
                Test.Title,
                Test.TestId,
                Test.QuestionsCount
            FROM Test
            LEFT JOIN Exam ON Test.ExamId = Exam.ExamId
            LEFT JOIN Topic ON Test.TopicId = Topic.TopicId
            WHERE Test.TestStatusId = 1 -- Current";
var tests = db.Database.SqlQuery<TestDTO>(sql).ToList();

Я искал асинхронный метод для этого, но он, похоже, не существует. Есть ли способ, которым я могу запустить этот асинхронный вызов?

Ответы

Ответ 1

Если вы используете Entity Framework 6, вам просто нужно указать

using System.Data.Entity;

в верхней части файла.

ToListAsync - это метод расширения на IQueryable<T>, объявленный в System.Data.Entity.QueryableExtensions