次のようなデータベースがあります。
tbl_Seminar
ID
isActive
tbl_SeminarFees
ID
seminar_id -- foreign key
fee_text
アクティブなすべてのセミナー (isActive ==1) と、そのセミナーに関連する料金のリストを取得したいと考えています。各セミナーは、その料金である tbl_SeminarFees に n レコードを持つことができます。このようなオブジェクトのリストを返す linq 構造を返すことができますが{seminar, SeminarFee}
、次のようなネストされた構造を作成したかったのです。
{seminar, List<SeminarFee>}
私のlinqクエリはどのように見えるべきですか?
ここに私のlinqがあります:
var results = from s in context.Seminar
join p in context.SeminarFees on
s.ID equals p.SeminarID
where s.IsActive == 1
select new
{
Seminar = s,
Fees = p
};
これらのリストを取得するためにこれを変更するにはどうすればよいですか:{seminar, List<SeminarFee>}
ありがとう
アップデート
@lazyberezovsky は、グループ結合を別の変数に使用する良いアイデアを教えてくれました。しかし、結果セットをループするにはどうすればよいでしょうか。これが私が今持っているものです:
foreach (var seminarAndItsFeesObject in results)
{
//do something with the seminar object
//do something with the list of fees
}
ただし、これにより次のエラーが発生します。
Argument type 'SeminarFees' does not match the
corresponding member type
'System.Collections.Generic.IEnumerable`1[SeminarFees]'
私は何を間違っていますか?
ありがとう