обновить файл .dbml - PullRequest
       4

обновить файл .dbml

4 голосов
/ 12 августа 2010

Как обновить файл .dbml после внесения некоторых изменений в базу данных.

Ответы [ 4 ]

5 голосов
/ 12 августа 2010

Нет встроенного способа синхронизации файла dbml / datacontext с базой данных после внесения изменений (, кроме восстановления всего файла dbml путем удаления всех или выбора объектов и перетаскивания их, или с помощью sqlmetal в соответствии с другими ответами ), но есть сторонние инструменты , которые добавляют функциональность обновления в конструктор Visual Studio L2S.

Один из таких инструментов - моя надстройка, Huagati DBML / EDMX Tools . Вы можете скачать его с http://www.huagati.com/dbmltools/ и получить пробную лицензию, если хотите взять его для пробного запуска.

У Джима Вули есть сводка различных инструментов Linq и Linq-to-SQL здесь:
http://www.thinqlinq.com/default/LINQ-Tools.aspx

... и Damien Guard имеет список инструментов / ресурсов для L2S здесь:
http://damieng.com/blog/2009/06/04/linq-to-sql-resources

4 голосов
/ 12 августа 2010

Единственный способ сделать это - удалить объекты из интерфейса dbml и заново добавить их обратно. Убедитесь, что вы нажали «Обновить» на панели «Обозреватель серверов» после внесения изменений в базу данных, чтобы Visual Studio выбирал последние изменения в базе данных при создании объектов в dbml.

2 голосов
/ 12 августа 2010

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

2 голосов
/ 12 августа 2010

SQLMetal - это инструмент, который вы хотите. Он устанавливается вместе с Visual Studio как часть SDK. Однако для большинства dbml метод удаления / повторного добавления оказался более целесообразным и надежным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...