Добавьте столбец к базе данных - как я обновляю dbml файл?

То же как строковая вставка.

if goo =~ /#{Regexp.quote(foo)}/
#...
23
задан Luke Girvin 12 April 2016 в 09:40
поделиться

5 ответов

Насколько мне известно, в конструкторе нет встроенных функций для обновления таблицы с изменениями в базе данных.

Существуют сторонние инструменты ( http: // www.huagati.com/dbmltools/), которые предлагают такую ​​функциональность.

Всякий раз, когда я сталкивался с этой проблемой, это было порядка одного или двух столбцов в таблице с несколькими уже настроенными вручную связями, поэтому Я только что отредактировал XML (щелкните правой кнопкой мыши на DBML и выберите «Открыть с помощью -> XML») и добавил столбцы в определение таблицы.

Когда файл DBML сохраняется, связанный файл .designer.cs становится автоматически обновляется кодом для вновь добавленных столбцов. Следовательно, нет необходимости отбрасывать и воссоздавать таблицу в режиме конструктора.

21
ответ дан 29 November 2019 в 02:16
поделиться

Я слышал об одном странном трюке , где вы создаете новый entity для вашей измененной таблицы, а затем перетащите / вырежьте новое свойство из новой сущности в свою старую. Однако никогда не пробовал.

13
ответ дан 29 November 2019 в 02:16
поделиться

Нет механизма для автоматического обновления DBML или указания DBML перечитать базу данных.

Я считаю, что самый простой способ - открыть файл dbml в конструкторе, удалить table, а затем повторно добавьте его в область конструктора. Хотя это может зависеть от сложности базы данных, т.е. вы можете потерять определенную информацию.

Я бы сделал резервную копию файла dbml, прежде чем пытаться:)

1
ответ дан 29 November 2019 в 02:16
поделиться

Обычно это неприятно. Перекомпилируйте, выключите VS, откройте его и т.д. Это должно работать, но для меня всегда была задержка. Возможно, будет проще создать модель вручную с помощью LINQ, хотя я этим и занимаюсь. Таким образом, у меня будет полный контроль над этим.

1
ответ дан 29 November 2019 в 02:16
поделиться

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

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

0
ответ дан 29 November 2019 в 02:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: