如果表2中不存在该行,则将默认设置为0:
var result = from daTarows1 in table1.AsEnumerable()
join daTarows2 in table2.AsEnumerable()
on daTarows1.Field<string>("ID") equals daTarows2.Field<string>("ID") into lj
from r in lj.DefaultIfEmpty()
select dtResult.LoadDaTarow(new object[]
{
daTarows1.Field<string>("ID"),
daTarows1.Field<string>("name"),
r == null ? 0 : r.Field<int>("stock")
}, false);
MSDN 源码