1

我的表数据如下所示:

    table 1:
 Id   CId   Message
 1     1    E:MMM
 1     1    E:NNN
 1     1    E:OOO
 1     2    E:PPP 
 1     2    E:PPP

table 2:
 Id   CId   Message
 1     1    W:NNN
 1     1    W:OOO

使用 linq 合并两个表后,我的输出表应如下所示: 结果表:

 Id   CId    ErMessage              WrMessage
 1     1     E:MMM*E:NNN*E:OOO      W:NNN*W.OOO
 1     2     E:PPP*E:PPP 

请帮助我如何实现。

4

1 回答 1

3
 var q =
    from t1 in
        table1.GroupBy(g => g.ID).Select(g => new
        {
            ID = g.Key,
            Message = string.Join("*", g.Select(v => v.Message).ToArray())
        })
    join
        t2 in
        table2.GroupBy(g => g.ID).Select(g => new
        {
            ID = g.Key,
            Message = string.Join("*", g.Select(v => v.Message).ToArray())
        }) on t1.ID equals t2.ID
    select new
    {
        ID = t1.ID,
        ErMessage = t1.Message,
        WrMessage = t2.Message
    };
于 2012-11-20T11:50:08.310 回答