加入后分配列表

时间:2016-10-27 18:24:24

标签: c# sql .net linq

我在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?我该如何分配呢?

谢谢!

1 个答案:

答案 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()
}