0

LINQ クエリの作成で少し問題が発生しています。

このデータを考えると

Object       ID       Items
------       --       -----
Object1       1       [1,2,4]
Object2       2       [2]
Object3       3       [2,4]
Object4       4       [1]

Itemsプロパティ内の IDS でグループ化したい

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

ItemID     Objects
------     ------------------------------------
1          [Object1, Object2, Object3, Object4]
2          [Object1, Object2, Object3]
4          [Object1, Object3]

「オブジェクト」には、「オブジェクト」全体、または選択したいプロパティが含まれています。

これについて何か助けはありますか?おそらくかなり基本的なことですが、今は頭を包むことはできません.

4

2 に答える 2

1

次の疑似コードを試してください

var result = objects.SelectMany ( o=>o.Items.Select (x=>new {item=x,objectid=o.object)).GroupBy (x=>x.item).ToArray()
 // objects -> collection of objects in question
//Items.Select => create list of item to object mapping
//objects.SelectMany -> Flattens item to object mapping into IEnumerable
//.GroupBy => groups the result by itemid
于 2013-09-22T21:42:17.337 に答える
1
var results = from o in source
              from i in o.Items
              group o.Object by i into g
              select new { ItemId = g.Key, Objects = g.ToList() }
于 2013-09-22T21:42:50.170 に答える