C # linq включить до-после где
В linq есть разница между:
EFDbContext _db = new EFDbContext();
1)_db.UserQuizes
.Where(uq => uq.UserId == currentUserId && uq.QuizId == quizId)
.Include(qz => qz.Quiz.VerbalQuizes.Select(q => q.Question)).First()
2)_db.UserQuizes
.Include(qz => qz.Quiz.VerbalQuizes.Select(q => q.Question))
.Where(uq => uq.UserId == currentUserId && uq.QuizId == quizId).First()
3)_db.UserQuizes
.Include(qz => qz.Quiz.VerbalQuizes.Select(q => q.Question))
First(uq => uq.UserId == currentUserId && uq.QuizId == quizId)
Обратите внимание, что первый запрос использует include после где и второй перед where, но результат тот же. Также, как увидеть фактический SQL-запрос? В этом конкретном случае производительность - моя главная цель, могу ли я улучшить запрос? Мне нужно изменить два свойства: свойство UserQuizes и свойство UserQuizes-> VerbalQuizes-> Question.
Будет ли лучше разделить его на два запроса или использовать как есть?