User
複数にすることができ、複数Usergroup
にすることができる単純なEAVっぽいシナリオがありUsergroup
ますField
。ユーザーを選択し、そのユーザー グループをすべて選択してから、フィールドを表示します。
Key
問題は、重複したプロパティを持つフィールドを表示したくないということです。
現在の状況
Fields = user.Usergroups
.SelectMany(x => x.UsergroupFields)
.Select(field => new
{
field.Key
})
製品
"Fields": [
{
"Key": "field 1"
},
{
"Key": "field 1"
},
{
"Key": "field 2"
}
]
ご覧のとおり、複数の があるため、プロパティfield 1
に基づいて重複を削除したいと考えていKey
ます。やってみましたがGroupBy()
、変なことをしています。
GroupBy()
Fields = user.Usergroups
.SelectMany(x => x.UsergroupFields)
.GroupBy(field => field.Key)
.FirstOrDefault()
.Select(field => new
{
field.Key
})
結果は
"Fields": [
{
"Key": "field 1"
},
{
"Key": "field 1"
}
]
GroupBy() は、私が達成したいこととは正反対のことをしているようです。