これを行うための単純なLINQクエリがあると仮定します。以下のコードを参照してください、コメントは私が何をしたいのかを説明:LINQを使ってリストにあるアイテムだけを取得する<>
私は3つのテーブル
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