Я импортирую две таблицы Excel в две таблицы DataTable, но я также меняю два столбца в каждой импортированной таблице (первичный ключ для данных) - с double на Int32 во время импорта. Я делаю это, создавая новый столбец Int32 — перемещаю данные в этот столбец, удаляю старый столбец — и присваиваю новому столбцу Int32 имя старого столбца.
Вот два исходных результата в сетке... Тот, что слева, содержит список личных титулов. Тот, что справа, содержит описания этих названий. Вы можете видеть, что поля Master ID и Sub Id являются ключами к этим таблицам.


Когда я пытаюсь объединить таблицы, я получить очень плохие результаты. На снимке экрана ниже вы можете видеть, что данные не были правильно объединены. Он перезаписал Master ID 1 на Master Id 12 из второй таблицы данных - и ни одно из значений описания не было заполнено.

Теперь - если я возьму эти таблицы данных и сохраню их в XML (метод WriteXML) - и импортирую их - затем запустите ту же процедуру слияния - я получаю то, что ожидал. из метода слияния!

Итак, мой вопрос: почему это происходит?? Казалось бы, изменение типа поля вызывает у меня некоторые проблемы, и я не понимаю, почему? Есть ли что-то еще, что мне нужно изменить, прежде чем запускать метод Merge в таблицах данных?? Кто-нибудь сталкивался с чем-то подобным при использовании таблиц данных и метода слияния (или другого)??
Подробнее здесь: https://stackoverflow.com/questions/798 ... data-types
Мобильная версия