4

可以说我有一个像这样的对象列表:

public class FlatModel
{
    public string groupName { get; set; }
    public decimal value1 { get; set; }
    public decimal value2 { get; set; }
    public decimal value3 { get; set; }
}

我想通过基于 GroupName 分组将它们映射到以下对象

public class GroupedModel
{
    public string groupName { get; set; }
    public List<ModelValues> values { get; set; }
}

public class ModelValues
{
    public decimal value1 { get; set; }
    public decimal value2 { get; set; }
    public decimal value3 { get; set; }
}

是否有使用 Automapper、Value Injector 或其他一些对象映射实用程序的直接方法来执行此操作?

4

1 回答 1

1

它可以为你工作吗?

        var arr = new List<FlatModel>();

        var result = from p in arr
                     group p by p.groupName into g
                     select 
                         new GroupedModel { 
                             groupName = g.Key, 
                             values = (from q in g 
                                                select 
                                                    new ModelValues { 
                                                        value1 = q.value1, 
                                                        value2 = q.value2, 
                                                        value3 = q.value3 }).ToList() 
                         };
于 2012-03-07T06:43:05.947 回答