Как я могу скопировать все адаптеры таблиц из одного набора данных в другой набор данных?

У меня есть DataSet (DataSet1) со многими таблицами и около 80 настраиваемых адаптеров таблиц в моем проекте C #. У меня есть DataSet2 с теми же таблицами и структурой, что и DataSet1. В редакторе DataSet Editor я хочу иметь возможность скопировать все настраиваемые адаптеры таблиц из DataSet1 в DataSet2. Я мог бы открыть .xsd в редакторе XML и попытаться отредактировать его вручную, но с более чем 80 адаптерами таблиц это будет беспорядочно.

Зачем я это делаю? Поскольку мой DataSet1 не работает (большая проблема, аналогичная обсуждаемой здесь и здесь), поэтому я воссоздаю его с нуля. Мне нужен быстрый способ добавления 80 адаптеров таблиц в новый DataSet.


person MattyG    schedule 07.03.2012    source источник


Ответы (2)


Вы пробовали просто copy & paste все?

Нажмите Ctrl + A, затем Ctrl + C и, наконец, Ctrl + V в дизайнере второго DataSet.

Это должно работать нормально.

person Tim Schmelter    schedule 07.03.2012
comment
Спасибо, Тим, похоже, это единственный способ массово скопировать адаптеры таблиц. - person MattyG; 08.03.2012

Как предположил Тим, похоже, что массовое копирование адаптеров таблиц можно выполнить только путем совместного копирования таблиц и адаптеров таблиц.

Ради интереса, процесс исправления проблемы с поврежденным .xsd DataSet / Connection string был следующим:

  • Создайте новый DataSet.
  • Настройте новый DataSet на использование существующей строки подключения для извлечения таблиц из БД.
  • Удалите эти таблицы из этого нового DataSet, оставьте поле пустым
  • Выберите все и скопируйте из старого набора данных (все таблицы, адаптеры таблиц, отношения)
  • Вставить в новый DataSet

Этот процесс оставляет вам хорошую строку подключения (и неповрежденный файл .xsd) для нового набора данных и поддерживает все настраиваемые адаптеры таблиц, которые были изначально созданы в первом наборе данных.

person MattyG    schedule 08.03.2012