1
我有問題,LINQ查詢在以下情形:如何用WHERE和多對多比較
我有一些教師的活動和ActivityTeacher兩表及清單。
Activity Table
ActivityID Date Class
1 4/4/2012 1
2 4/5/2013 2
3 4/6/2013 5
4 5/6/2013 2
5 5/16/2013 1
6 5/20/2013 8
7 5/21/2013 7
8 6/22/2013 6
9 8/10/2013 5
10 8/12/2013 4
ActivityTeacher Table
ActivityID TeacherID
1 2
1 3
1 4
2 6
3 6
3 6
3 4
2 5
4 2
4 3
4 6
5 8
5 7
5 6
6 6
6 7
6 9
6 10
6 1
6 2
7 2
7 8
7 9
7 10
8 3
8 4
8 6
8 7
9 10
9 3
9 2
10 1
10 2
教師名單= {2,3,4} 現在我想基於不使用foreach循環教師= {2,3,4} 的列表來選擇活動的記錄。
鼓勵downvoter發表評論。否則我不能改善答案。據我所知,這應該工作,如果數據庫已被正確映射。 –
使用連接操作(複雜性_n_)而不是'Where Where(... Contains)'(複雜性_n²_) –
@CédricBignon:連接已經在那裏,通過導航屬性。與你的回答相反,我的實際包含了OP所要求的過濾。生成的SQL應該是這樣的:'select a。* from Activity a內部聯接ActivityTeacher at a.activityid = at.activityid where at.teacherid in(items in listOfTeachers);' –