.Net 4.0(vb.net)で開発しています。

2つのDataTableを結合するために、DataTable.Mergeメソッドを利用しようと考えています。

dataTableA.Merge(dataTableB, false, MissingSchemaAction.Error)

としたときに、

ターゲット テーブル B に列 XXX の定義が見つかりません。

とエラーが発生しています。
単純なエラーに見えますが、dataTableAにもdataTableBにも列:XXXは存在しています。

dataTableA.WriteXmlSchema("schemaA.xml")
dataTableB.WriteXmlSchema("schemaB.xml")

として出力したスキーマのXMLを比較しても一致しています。

エラーメッセージのテーブル名(B)とDataTable.TableNameが一致しているのはdataTableBです。

dataTableB.Columns.Contains("XXX")

True を返します。

他になにか見落としている点がありそうですか?


類似のコーディングをしている箇所が少なかったのでループでImportRowして対応することにしました。
ImportRowもスキーマ合致する必要があるので、何故うまく行くのか不明で納得できませんが。。。