2016-10-27 5 views
1

У меня есть оператор объединения в LINQ, который объединяет 1 класс и 1 Список в новый класс.Назначить список после присоединения

Класс Я хочу:

public class ClassResult 
{ 
    public string Name {get;set;} 
    public List<Class2> Class2s {get;set;} 
} 

Класс 1:

public class Class1 
{ 
    public string Name {get;set;} 
    public int ID {get;set;} 
    public string Description {get;set;} 
} 

Class2:

public class Class2 
{ 
    public string Name {get;set;} 
    public int ID {get;set;} 
} 

JOIN:

// Class1List is a List<Class1> 
// Class2List is a List<Class2> 

from class2 in class2List 
join Class1 in Class1List on class2.ID equals Class1.ID  

select new ClassResult 
{ 
    Name = Class1.Name, 
    ClassResult = ? ? ?  
}; 

Как я могу получить List<Class2> всех элементов Class2, которые имеют одинаковые ID как Class1? И как мне его назначить?

Спасибо!

+1

Что такое '' Class1List и что 'Class2List'? –

+0

A Список и список user3024750

+1

Итак, пожалуйста, покажите, как выглядит 'Class1' –

ответ

2

Хотя это немного трудно понять, с токовым входом Я думаю, что вы просите за это GroupJoin:

from c1 in Class1List 
join c2 in Class2List on c1.ID equals c2.ID into g 
select new ClassResult 
{ 
    Name = c1.Name, 
    Class2 = g.ToList() 
} 
+0

Спасибо, это именно то, что мне нужно. Я использовал такой ввод, поэтому его легче понять, поскольку классы довольно длинные, и я просто хотел знать, как это сделать в теории. – user3024750

+1

@ user3024750 - Это прекрасно :) Мне просто нужно было правильно понять отношения между 3 классами. Как вы видите, я предположил, что это то, что вы имели в виду, но всегда хорошо иметь это в самом вопросе –

Смежные вопросы