我有一个Product(IList<Product>
)列表,其中包含所有预先填充的数据。
型号:Product
public class Product
{
public int Id { get; set; }
public int ParentProductId { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public IList<Product> Children { get; set; }
}
属性Children
的类型为IList<Product>
,表示它是嵌套的,它可以再次包含最多n
级别的子级。
我有另一个模型FilterModel
。
型号:FilterModel
public class FilterModel
{
//// This is same as that of Product Code
public string Code { get; set; }
//// This is a combination of Products Name, Id and some static strings
public string FilterUrl { get; set; }
public IList<FilterModel> Children
}
其中也有相同的嵌套结构。
我打算从第一个模型(FilterModel
)中将数据插入到我的第二个模型(Product
)中。这是以递归方式实现的吗?
答案 0 :(得分:1)
试试这个:
FilterModel Transfer(Product product)
{
var fm = new FilterModel();
fm.Code = product.Code;
fm.Children = new List<FilterModel>();
foreach (var p in product.Children)
{
fm.Children.Add(Transfer(p));
}
return fm;
}