拥有经典的订单 - >订单行的情况是这样的:我如何获得产品的独特条目列表<Order>与LINQ
public class Order
{
public int Id { get; set; }
public string Name { get; set; }
public List<OrderRow> OrderRows { get; set; }
}
public class OrderRow
{
public int Id { get; set; }
public int ProductId { get; set; }
public int Amount { get; set; }
}
和列表<订单>。从订单列表中,我想获得所有独特的ProductIds列表。
我解决了它这样的:
var orders = new List<Order>();
// TODO get the orders from DB
var products = new Dictionary<int,int>();
orders.ForEach(order => order.OrderRows.ForEach(row => products[row.ProductId]=row.ProductId));
,但我得到了我的使用字典的问题,为什么我没有用LINQs的GroupBy也评论说,这是不是很清楚它是如何工作的。我认为解决方案没问题,但是这些评论让我想尝试在LINQ中解决它,但由于某种原因我尝试了一个砖墙。
如何从LINQ订单列表中获取独特产品ID列表?
就像一个魅力,谢谢!不知何故,我以前完全错过了SelectMany。 – 2009-12-05 23:28:57