Is it possible in linq to use single include instead of this :
_db.UserQuizes.Where(uq => uq.UserId == currentUserId && uq.QuizId == quizId)
.Include(qz => qz.Quiz.VerbalQuizes.Select(q => q.Question.Answers))
.Include(qz => qz.Quiz.MathQuizes.Select(q => q.Question.Answers))
.Include(qz => qz.Quiz.VerbalQuizes.Select(q => q.Question.TaskWithMultipleQuestion))
.Include(qz => qz.Quiz.MathQuizes.Select(q => q.Question.TaskWithMultipleQuestion))
.Include(qz => qz.Quiz.VerbalQuizes.Select(q => q.Question.QuestionTags.Select(m => m.Tag)))
.Include(qz => qz.Quiz.MathQuizes.Select(q => q.Question.QuestionTags.Select(m => m.Tag)))
.Include(qz => qz.Quiz.MathQuizes.Select(q => q.Question.Answers))
.First();
What i want to achive is write linq something like this :
_db.UserQuizes.Where(uq => uq.UserId == currentUserId && uq.QuizId == quizId)
.Include(qz => qz.Quiz.VerbalQuizes.Select(q => new{
ans = q.Question.Answers,
mult = q.Question.TaskWithMultipleQuestion,
tag = q.Question.QuestionTags.Select(m => m.Tag)
}))
.Include(qz => qz.Quiz.MathQuizes.Select(q => new
{
ans = q.Question.Answers,
mult = q.Question.TaskWithMultipleQuestion,
tag = q.Question.QuestionTags.Select(m => m.Tag)
})).First();
Also is it a bad practise to use so much include in a simple query? Is it better to split up? But if it is what would be the best way? write seven queries?
_db is just an object for connect to database
EFDbContext _db = new EFDbContext();