Visual Studio DataSet Designer Обновить таблицы

В Visual Studio дизайнер источника данных есть ли способ обновить таблицу и ее отношения / ограничения внешнего ключа при сохранении пользовательских запросов?

В настоящий момент я делаю это, удаляя таблицу и добавляя ее снова. Это добавляет все отношения и обновляет все поля.

Также, если я изменю тип данных полей, есть ли способ автоматически обновить все поля в источнике данных? Снова, не удаляя таблицу и добавляя ее снова.

Причина этого заключается в том, что к некоторым из моих адаптеров таблиц прикреплен целый ряд сложных запросов, и когда я удаляю таблицу, адаптер также удаляется, включая все его запросы.

Я использую Visual Studio 2008 и подключаюсь к базе данных MySQL.

Any1 есть идея?

6 ответов

Решение

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

Каждый раз, когда вы открываете запрос по умолчанию, он подключается к вашему источнику данных и позволяет вам выбирать новые столбцы, которых раньше не было. Если вы хотите обновить существующие столбцы, удалите все столбцы из таблицы, прежде чем пытаться открыть запрос. Когда вы сохраняете запрос, ваши обновленные столбцы добавляются обратно.

Убедитесь, что ваша строка подключения имеет права на просмотр информации о столбце.

Я сообщил об этом в MSFT, но не получил ответа. Дизайнер все время зависает от самых простых операторов SQL. То, что я нашел, что работает для меня это.

  1. Добавьте новую таблицу в конструктор.
  2. Сохрани это.
  3. Завершите работу визуальной студии 2010.
  4. Начало VS 2010.
  5. Добавьте еще один или два оператора SQL и повторите шаги 2-4.

Это боль в шее, но единственное, что мешает разработчику набора данных Visual Studio зависнуть. Я сталкивался с этой же проблемой в VS 2008. Я подключаюсь к Oracle, но все еще выключаю VS и снова запускаю его, но на самом деле это чепуха.

Вы можете добавлять / изменять / удалять поля и корабли отношений, но я бы посоветовал заглянуть в NHibernate.

Вы должны иметь возможность щелкнуть правой кнопкой мыши набор данных в обозревателе решений и выбрать "Запустить пользовательский инструмент", чтобы обновить таблицу и ее запрос / отношения.

Если этой команды нет, убедитесь, что в свойствах набора данных указано "MSDataSetGenerator" в поле "Пользовательский инструмент".

  1. Щелкните правой кнопкой мыши на имени вашего набора данных и выберите Свойства набора данных
  2. Под окном "Запрос" вы увидите кнопку "Обновить поля".
  3. Нажмите на Query Designer, и новое поле должно появиться в списке таблиц.

Щелкните правой кнопкой мыши файл .xsd в обозревателе решений Visual Studio.

Зайдите в свойства файла .xsd.

Установите для параметра «Действие сборки» значение «Содержимое».

Обновите свойство «Пользовательский инструмент» на «MSDataSetGenerator». Вам необходимо написать это в предоставленном текстовом поле.

Другие вопросы по тегам