Есть ли способ обновить dbml файл или мне нужно его удалить и создать совершенно новый?
Добавить столбец в базу данных - как обновить файл dbml?
Ответ 1
Насколько я знаю, в дизайнере нет встроенных функций для обновления таблицы с изменениями в базе данных.
Существуют сторонние инструменты (http://www.huagati.com/dbmltools/), которые предлагают такую функциональность.
Всякий раз, когда я сталкивался с этой проблемой, он был порядка одного или двух столбцов на таблице с уже установленными несколькими вручную отношениями, поэтому я только что отредактировал XML (щелкните правой кнопкой мыши на DBML и выберите open с → XML) и добавили столбцы в определение таблицы.
Ответ 2
Я слышал о одном странном трюке, где вы создаете новый объект для вашей измененной таблицы, а затем перетаскиваете/вырезаете новое свойство из нового объекта в свой старый. Никогда не пробовал, однако.
Ответ 3
Нет механизма автоматического обновления DBML или указания DBML для повторной проверки базы данных.
Я считаю, что самый простой способ - открыть файл dbml в дизайнере, удалить таблицу и затем снова добавить ее на поверхность дизайна. Хотя это может зависеть от сложности базы данных, т.е. Вы можете потерять определенную информацию.
Я сначала делал резервную копию файла dbml перед попыткой:)
Ответ 4
Я не смог удалить свою таблицу и повторно добавить (это самый быстрый способ), так как она используется как возвращаемый тип где-то. Также, вероятно, это плохая идея, если ваш db действительно сложный
Лучший способ для меня:
Добавить ту же таблицу в dbml Открыть dbml с редактированием xml (правый щелчок → открыть с) Скопируйте столбец XML-столбца из таблицы, которую вы только что добавили, и вставьте в столбец таблицы нарушения. Сохранить Открытый Dbml регулярный путь Удалить добавленную таблицу
Ответ 5
Это обычно боль. Перекомпилируйте, выключите VS, откройте его и т.д. Он должен работать, но для меня всегда была задержка. Может быть проще вручную создать вашу модель с помощью LINQ, хотя это то, что я делаю. Таким образом, я получил полный контроль над этим.
Ответ 6
Если вы внесли изменения в свою модель, вытащить стол и повторное добавление, это может вызвать больше проблем, чем это стоит. В таких случаях я рекомендовал бы вручную модифицировать конструктор (или файл dbml). Не трогайте файл .Designer, поскольку эти изменения будут перезаписаны.
Еще один альтернативный вариант - использовать SqlMetal как часть процесса сборки для регенерации модели из базы данных.