OrderItems 可以有或没有首选项。我想按偏好对我的订单项进行分组。但只有一种类型的偏好(4),否则它们应该属于“空”组。
此代码有效,但其他编码人员告诉我它很烂(但不建议解决方案)。我能做什么 ?
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;
}
}