【发布时间】:2017-08-02 17:01:11
【问题描述】:
我无法在 LINQ Group & Aggregation 上找到此特定问题的任何答案,因此希望这里有人能提供帮助。我有一个这样的模型列表:
public class BasketProduct
{
public ProductItem Product { get; set; }
public int Quantity { get; set; }
public decimal SubTotal { get; set; }
public DateTime DateAdded { get; set; }
}
第一个属性是另一个模型:
public class ProductItem
{
public int ID { get; set; }
public string Description { get; set; }
public char Item { get; set; }
public decimal Price { get; set; }
public string ImagePath { get; set; }
public string Barcode { get; set; }
}
我基本上希望能够在此列表上进行分组和聚合:
List<BasketProduct> allBasketProducts =
使用以下内容:
allBasketProducts = allBasketProducts
.GroupBy(x => x.Product.ID)
.Select(y => new BasketProduct
{
Product.ID = y.First().Product.ID,
Product.Item = y.First().Product.Item,
Product.Description = y.First().Product.Description,
Quantity = y.Sum(z => z.Quantity),
Product.ImagePath = y.First().Product.ImagePath,
Product.Price = y.First().Product.Price,
SubTotal = y.Sum(z => z.SubTotal)
}).ToList();
但是它真的不喜欢这样(根据红色波浪线甚至更红的文字):
有人可以帮忙吗?
【问题讨论】:
-
我认为您不需要
select部分。但我可能误解了这个要求。你能解释一下究竟应该是什么结果吗? -
错误是什么?
标签: c# linq model group-by aggregate