2011-01-24 73 views
0

我正在用c#開發asp.net mvc 2中的小問題答案應用程序。我的情況是這樣的: enter image description here如何在Linq中構建此場景的查詢

在我的行動我有chapterId作爲參數,這個字段存在問題表。我想獲得chapterId的全部測試主對象。一章可以有多個測試。在測試主題的細節中,我保留特定章節的問題ID。 如何獲取List在這裏? BU LINQ - 到SQL查詢?

+1

意見:刪除TestDetailsId,並在其他兩個字段上創建一個複合PK,否則最終會出現我認爲不需要的重複項。 – leppie 2011-01-24 10:12:38

+0

你是對的,但由於它是小應用程序,並有一些時間限制,我現在已經避免了它。謝謝親愛的。 – 2011-01-24 10:35:08

回答

2

如果我理解正確的話,你可以做這樣的:

yourContext.Questions.Where(q => q.ChapterId == chapterId) 
        .SelectMany(q => q.TestDetails) 
        .Select(td => td.TestMaster); 
+0

謝謝,這是工作完美,只是我添加不同爲this.as yourContext.Questions.Where(Q => q.ChapterId == chapterId) .SelectMany(Q => q.TestDetails) 。選擇(TD => td.TestMaster).Distinct()。ToList();; – 2011-01-24 10:36:10

1

用於獲取結果的查詢將是
VAR的結果=(從問題問 在q.QuestionId testDetails加入TD等於td.QuestionId join tm in testMasters on td.TestId等於tm.TestId select tm).Distinct();