我在LINQ中有一个join语句,它将1个类和1个List组合成一个新类。
我想要的课程:
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;}
}
等级2:
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
?我该如何分配呢?
谢谢!
答案 0 :(得分: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()
}