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