0
我有一个嵌套的对象,像这样的结构:模型A包含模型B的列表。我想知道是否有一个快速的方法来扁平化它。拼合复杂模型
例子:
public class Customer
{
public int ID {get; set;}
public string Name {get; set;}
public List<int> OrderNumber { get; set; }
}
这给我的只有一个扁平化列表中的订单编号
var list = customerList.Select(x => new { x.ID, x.Name, x.OrderNumber}).Where(x => x.OrderNumber!= null).SelectMany(s => s.OrderNumber).ToList();
这给我其中包含订单编号的列表中为每个客户记录
的客户信息列表var list = customerList.Select(x => new { x.ID, x.Name, x.OrderNumber}).ToList();
我正在寻找一种快速方法来返回客户信息平面列表用扁平化的ordernumber列表作为字符串。像这样...
ID --- ----名称ORDERNUMBER
123 JOHNDOE 1,2,3
564 JaneDoe 1,2-
感觉好像使用LINQ SelectMany可以完成这项工作,但不知道该怎么做。如上所示,我得到了我想要的结果,我只需要一种方法将它放在一个语句中。我知道我可以做一个循环,并构建一个新的列表来获得我想要的。这不是世界末日,但我想了解更多关于LINQ的知识。任何提示将不胜感激。谢谢。
这是行不通的。感谢您查看这个。我只是意识到在我的文章中犯了一个错误。让我更新它。 – NKD 2014-12-04 17:14:12
@NKD如果你能解释它不工作的方式,我可能会纠正它。 – 2014-12-04 17:16:05
@NKD我修改了查询以匹配您更新的客户类。 – 2014-12-04 17:17:30