2011-01-04 20 views
0

は、以下の簡単なテーブルデザインを想定しますFOO」(PKをマスターするためのID BIGINT PK、MasterId BIGINT FK、コードNVARCHAR(5))LINQ、サブクエリ結果の集合

表の詳細詳細の

サンプル列
1001 101 "" 1002 101、 "B"
1003、101、L2Sクエリから "C"

所望の出力がfollowing-

ID、コード(単数または複数)のようになり、メッセージ
101、 "A、B、C"、 "foo" という

次L2Sクエリ

は、私が欲しいものを私に与えますが、それを表現する良い方法はありますか?

from m in Master 
    where m.Id == 101 
    select new 
    { 
     mi.Id, 
     Codes = string.Join(",", (from c in Detail 
            where c.MasterId == m.Id 
            select c.Code).ToArray()), 
     mi.Message 
    } 

答えて

1

Purrrrfect。私はメソッドの構文を使う以外は同じことをします。私にはもっと「自然」と思われる。

関連する問題