OrderItems には、設定がある場合とない場合があります。注文項目を好みでグループ化したいのですが、1つのタイプ(4)の好みのみです。それ以外の場合は、「null」グループに属している必要があります。
このコードは機能しますが、他のコーダーはそれが悪いと言っています (ただし、解決策を提案しないでください)。どうすればよいですか?
public IEnumerable<IGrouping<Preference,OrderItem>> OrderItemsGrouped {
get {
var grouped = OrderItems
.GroupBy(item =>
{
var i = item.Preferences.FirstOrDefault(p => p.Preference.PreferenceGroup.Type == 4);
if (i != null) return i.Preference;
else
{
return null;
}
})
.OrderBy(k => { return k.Key == null ? -1 : k.Key.Order; });
return grouped;
}
}