這些項目我會假設有一個簡單的LINQ查詢來做到這一點,我只是不完全知道如何。請參考下面代碼段,註釋所描述的,我想怎樣做:使用LINQ獲取只有列表<>
我有三個表
Course
Id Name
---- ------
1 php
2 joomla
3 mysql
MainCourse
Id CourseCode
---- -------------
1 Foundation
2 Diploma
3 Professional
SubCourse
Id CourseId MainCourseId
---- --------- --------------
1 1 1
2 1 2
3 2 2
4 1 3
5 2 3
6 3 3
List<int> courseIdList={1,2}
//I would like to perform a LINQ query to give me 'CourseCode'
//from 'courseIdList'
//this example should give me 'Diploma'
//CourseIdList could vary below are the expected results
//CourseIdList={1} ==> CourseCode=Foundation(MainCourse)
//CourseIdList={1,2} ==> CourseCode=Diploma(MainCourse)
//CourseIdList={1,2,3} ==> CourseCode=Professional(MainCourse)
//Rule is that I want to get only those items from the subcourse
//where 'courseId(subcourse)' matches the 'courseIdList'
//Say CourseIdList={1,2},I need to omit the following Id (1,4,5,6)
//from subcourse since MainCourseId=1 , contains courseId =1 (not 1,2)
//and MainCourseId=3 , contains courseId = 1,2,3 (not 1,2)
這不是很清楚。爲什麼只有ID 2和3? 「CourseId」1或2的其他人怎麼樣? –
當你說LINQ時,你在查詢內存中的對象嗎?或通過ORM的數據庫?要麼...? (LINQ有很多不同的實現) –
'courseIdList'中的項目與'SubCourse'中的項目匹配?你在'MainCourseId'上匹配嗎?否則這根據您的預期輸出+輸入是沒有意義的。好吧,你現在編輯了你的問題,並沒有提到'SubCourse'?無論如何,爲什麼預期產出現在只是'文憑'而不是'基礎'和'文憑'(1,2)? – DGibbs