【发布时间】:2016-04-26 13:36:18
【问题描述】:
我有一个由模型定义的对象列表,我想按特定字段分组。分组时,某些字段需要汇总在一起。我想按 ItemName 分组,Amount 将全部相加。
我的模型是:
public class Item{
public string ItemName { get; set; }
public string ItemColor { get; set; }
public string SomethingElse { get; set; }
public decimal Amount { get; set; }
}
我目前的尝试是:
List<Item> fullListOfItems = GetItemsFromDatabase();
List<Item> groupedList = fullListOfItems
.GroupBy( l => l.ItemName )
.Select(i =>
new Item()
{
ItemName = i.Key.ItemName,
ItemColor = i.Key.ItemColor,
SomethingElse = i.Key.SomethingElse,
Amount = i.Sum(k=>k.Amount)
}
);
我在每个关键语句之后都收到一个错误,说分组模型不包含 ItemName 的定义。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
确保你的使用列表中包含
using System.Linq' -
已经在顶部了
标签: c# asp.net-mvc linq lambda