.NET Object mapping, группировка объектов - PullRequest
4 голосов
/ 07 марта 2012

Допустим, у меня есть список таких объектов:

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; }
}

IsЕсть прямой способ сделать это с помощью Automapper, Value Injector или какой-либо другой утилиты сопоставления объектов?

1 Ответ

1 голос
/ 07 марта 2012

Может ли это работать на вас?

        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() 
                         };
...