Datatable update and merge

LINQでやるなら

result = From tl1 In dt1.AsEnumerable _ From tl2 In dt2.AsEnumerable.Where(Function(m) m.Field(Of String)("code") = tl1.Field(Of String)("code")).DefaultIfEmpty() _ Select New With _ { _ .id = tl1!id, _ .code = tl1!code, _ .name = If(tl2 Is Nothing, "", tl2!name) _ }

で大丈夫だと思いますが、結果がIEnumerableになってしまいます。
※結果をどう使いたいか次第ですが、結果をループで処理するならこれでもよいのですが。。

ここは泥臭いかもしれませんが、ループで処理した方がメンテするのも楽かと思います。
※私ならそうします。

が参考になるのでは。

1 Like