3

次のような LINQ クエリがあります: Entity Framework ナビゲーション プロパティを介してリンクされた 2 つのリスト (両方のエンティティに多対多の関係があります)

これを変換したい:

var query = (from a in listA 
             from b in a.ListB
             select new {T1=a, T2=b}

このようなものに:

var query = (from a in listA
             from b in a.ListB
             select new KeyValuePair<T1,List<T2>>{ T1=a , T2=b})

最初のクエリは、次のようなアイテムのリストを生成します: {(a,x), (a,y), (a,z), (b,x) ...}

2 番目のクエリの目的は、結果を独自のリストを持つアイテムにマージすることです。

結果は次のようになります。

{(a,項目 x,y,z のリスト), (b,項目 x のリスト) ...}

助けていただければ幸いです。ありがとう!

4

1 に答える 1

7

編集:私の答えを修正してくれたStijnに感謝します。

a関連項目のリストが既に含まれているように見えるbので、これは機能しませんか?

var query = (from a in listA
             select new{ T1 = a, T2 = a.ListB });

クエリを Dictionary に変換することもできます。

var asDictionary = query.ToDictionary(item => item.T1, item => item.T2);
于 2012-07-26T00:17:07.603 に答える