使用LINQ连接两个数据源时遇到问题。由以下查询创建的两个数据源:
var A =(来自.... 小组....进入grp 选择新的 { 数量= grp.Count(), Code = grp.Key.Code, Name = grp.Key.Name });
var B =(来自.... 小组....进入grp 选择新的 { 数量= grp.Count(), Code = grp.Key.ContCode, Name = grp.Key.ContName });
'A'的值将如下返回:
Qty-Code-Name
1-10A-Cont10
1-20B-Cont20
1-30C-Cont30
'B'的值将如下返回:
Qty-Code-Name
1-10A-Cont10
1-20B-Cont20
1-30C-Cont30
1-40D-Cont40
1-50E-Cont50
我想加入A和B(或做一些事情)和结果如下(如果它们具有相同的'代码'和'名称',那么总和列'数量'):
Qty-Code-Name
2-10A-Cont10
2-20B-Cont20
2-30C-Cont30
1-40D-Cont40
1-50E-Cont50
我该怎么办?请帮我。 非常感谢你!
答案 0 :(得分:3)
通过code
和name
来控制两个数据源而不是分组。
类似的东西:
var q = from v in A.Concat(B)
group v by new {v.Code,v.Name } into g
select new
{
Qty = g.Sum(a => a.Qty),
CodeName = g.Key.Code,
Name = g.Key.Name
};