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

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

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

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

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

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

1 Ответ

2 голосов
/ 16 сентября 2009

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

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

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

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

...