GroupJoin外连接语法
//四个参数依次:右表,左表提供连接的字段,右表提供连接的字段,(a,g)a为左表,g为右表
//左表为主,右表为辅,右表可能对应多条数据,所以右表字段必须用聚合函数显示
var leftJoin= outdoc.GroupJoin(
indoc,
x => x.WorkshopCode,
y => y.WorkshopCode,
(a,g)
=> (new {
WorkshopCode=a.WorkshopCode,
Outdocsum=a.OutdocSum,
IndocSum=g.Sum(x=>x.IndocSum)
}
如果右表的字段是字符串,可以用Max(),Min()聚合函数取
两个数据集的类型
//出库
class outdoc
{
public string WorkshopCode { get; set; }
public decimal OutdocSum { get; set; }
}
//入库
class indoc
{
public string WorkshopCode { get; set; }
public decimal IndocSum { get; set; }
}