user1464139
user1464139

Reputation:

Is there a way I can run a Database.SqlQuery as async?

I have the following:

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();

I was looking for an async method for this but it does not seem to exist. Is there a way that I can run this async?

Upvotes: 35

Views: 18668

Answers (1)

Kirill Shlenskiy
Kirill Shlenskiy

Reputation: 9587

If you're using Entity Framework 6 you just need to specify

using System.Data.Entity;

at the top of your file.

ToListAsync is an extension method on IQueryable<T> declared in System.Data.Entity.QueryableExtensions

Upvotes: 56

Related Questions