Используйте linq, чтобы создать проекцию анонимного класса со списком - PullRequest
2 голосов
/ 30 сентября 2011

Предположим, у меня есть эти классы:

public MyClass
{
   public Property1 {get; set;}
   public Property2 {get; set;}
   public Property3 {get; set;}
   public Property4 {get; set;}
   public Property5 {get; set;}
   public Property6 {get; set;}
   public Property7 {get; set;}
   public Property8 {get; set;}
   public List<MySecondClass> MyList {get; set;}
}

public MySecondClass
{
   public SecondProperty1 {get; set;}
   public SecondProperty2 {get; set;}
   public SecondProperty3 {get; set;}
   public SecondProperty4 {get; set;}
   public SecondProperty5 {get; set;}
}

Предположим, что все было создано, как бы я использовал linq, чтобы создать проекцию, в которой были только Property1 и Property2, и список, который только что имел SecondProperty4 и SecondProperty5?

Что-то вроде:

myClass.Select(x=> new { Property1 = x.Property1, 
                         Property2 = x.Property2, 
                         //Some Way To add The list here
                       }

ПРИМЕЧАНИЕ. Просто для пояснения, myClass - это объект List<MyClass>.

1 Ответ

9 голосов
/ 30 сентября 2011
myClass.Select(x=> new { Property1 = x.Property1, 
                         Property2 = x.Property2, 
                         SecondList = x.MyList.Select(i => new { i.SecondProperty4, i.SecondProperty5 }).ToList()
                       }
...