我想要做的是我有包含
的销售订单对象sales order header
and list of order lines
在订单行中我有实际的订单行,产品信息对象和股票信息对象:
public class SalesOrder
{
public Header SalesHeader { get; set; }
public List<OrderLineProductInfo> OrderLines { get; set; }
}
public class OrderLineProductInfo
{
public Line salesOrderLine { get; set; }
public Info ProductInfo { get; set; }
public Stock ProductStock { get; set; }
}
所以我可以获得SalesOrder对象的列表,所以示例销售订单索引0
有2行,其中一行中的ProductStockObject有abc首选供应商,另一行有首选供应商123
我希望能够对首选供应商属性进行分组
var separatePreferredSuppliers =
(from b in x.OrderLines
.GroupBy(g => g.ProductStock.PreferredSupplier )
select ...
).ToList();
不太确定下一步需要选择什么?一个新的SalesOrder列表?
我想要它,以便它给出销售订单的两个实例,但为每个首选供应商分成2个实例
答案 0 :(得分:0)
我想我明白你的意思
from line in x.OrderLines
group line by line.ProductStock.PreferredSupplier into grouped
select new SalesOrder
{
OrderLines = grouped.ToList()
}
虽然我不确定您如何填充SalesHeader
答案 1 :(得分:0)
当你知道groupby函数返回什么时很容易 - 你想要键和列表:
.Select( (g) => new { supplier = g.Key, prodlist = g.ToList()}