Создание схемы таблицы / представления из файла DBML LINQ-TO-SQL

StackOverflow https://stackoverflow.com/questions/1428070

Вопрос

Я бы хотел иметь единый источник описания структуры данных.

Некоторые люди спрашивают, может ли файл DBML обновляться при его изменении в базе данных.То, как я это делаю, глупо, но распространено;откройте его, удалите все и снова перетащите.Я слышал, что есть какие-то сторонние трюки.

Но я думаю, есть ли какой-нибудь способ обратить операцию вспять?

В режиме гибернации есть способ создать DDL целевой базы данных из структуры данных XML.

Возможно ли, что файл DBML будет содержать всю информацию для восстановления DDL базы данных?(например,имейте копию этих VIEW SQL, коды хранимых процедур) и создайте "Create script" "на лету" (например, что вы делаете в SQL Server Enterprise Manager)

Это было полезно?

Решение

Файл DBML содержит только таблицы, столбцы, ограничения внешнего ключа и первичные ключи.Представления хранятся так же, как таблицы, поэтому единственной сохраняемой информацией является имя представления и то, какие столбцы (w / type, nullability и т.д.) оно возвращает.Само определение представления не сохраняется, и поэтому его невозможно извлечь из файла dbml.

Если вы используете конструктор L2S и базовый файл DBML для моделирования данных, вы потеряете:

  • индексы / ключи, отличные от PK
  • просмотр определений
  • сохраненные определения процедур
  • определения функций
  • типы псевдонимов
  • ...и т.д...

Тем не менее, если вы хотите сгенерировать SQL-DDL для таблиц defs, FKS, PKs и т.д. Из вашего DBML, моя надстройка для Visual Studio может сделать это за вас.(Он поддерживает синхронизацию в обоих направлениях db -> dbml и dbml -> sql-ddl -> db. Вы можете загрузить его и получить пробную лицензию с:
http://www.huagati.com/dbmltools/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top