3
在LINQ是有之间的差异:即第一查询使用包括C#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)
通知后在那里和第二前哪里,但结果是相同的。另外如何看到实际的SQL查询?在这个特殊情况下,perfomance是我的主要目标,我可以改进查询吗?我需要更改两个属性:UserQuizes属性和UserQuizes-> VerbalQuizes-> Question属性。
它会更好分裂这两个查询或使用像,因为它是指令
此实体框架? –
是的,抱歉让人困惑 – user3857731
使用SqlProfiler查看发送到SQLServer的查询(有点cumersome工具,但它做你需要的),或者使用Glimpse和EF插件来显示给定页面生成的SQL。 – csharpfolk