2009-04-23 1 views
4

Я использую Linq2Sql и устал от воссоздания dbml каждый раз при изменении базы данных. Можно ли сценаризировать создание моей модели, учитывая, что я хочу ВСЕ таблицы и ВСЕ процессы? В идеале это будет частью процесса сборки или настраиваемого инструмента.Возможно ли автоматическое создание моего Linq2Sql DBML через скрипт?

Простая кнопка «Обновить из схемы» тоже будет хорошо, но из всего, что я могу сказать, нет такой вещи. В настоящее время единственным способом обновления моей модели является удаление таблиц и обработок, которые были изменены, и перетащить их из проводника сервера.

Может быть, я что-то упустил?

ответ

4

Я полагаю, вы можете использовать инструмент SQLMetal команду

EDIT по OP: Я закончил тем, что писал пакетный файл проверка кода, создания классов с этим, затем зафиксировать код. Затем я создал триггер уровня изменения схемы базы данных для запуска этого командного файла в любое время, когда изменилась схема. Итак, теперь, когда изменяется схема, классы Linq создаются, проверяются, тогда CCNet создает DLL и распространяет ее. сладкий ......

0

Если деньги не являются объектами, лучше всего получить модель моделирования данных визуальной студии 2008 Team System, создать проект базы данных и использовать его для поддержки базы данных, модели данных и сущность. Это не нулевая работа, чтобы сохранить базу данных и модель сущности синхронизированной, но с помощью инструмента сравнения схем, это недалеко от него (и это определенно делает для вас всю работу).

IMHO, моделирование данных и дизайн roundtripping более чем оправдывают высокую стоимость покупки командного издания Visual Studio 2008 над профессиональным изданием.

0

SQLMetal

http://msdn.microsoft.com/en-us/library/bb386987(v=vs.110).aspx

SqlMetal инструмент командной строки генерирует код и отображение для LINQ к SQL компонента .NET Framework. SqlMetal может выполнять несколько различных действий, которые включают в себя следующее:

из базы данных, генерировать исходный код и отображение атрибутов или файл в отображении.

Из базы данных создайте промежуточный язык разметки базы данных (.dbml) файл для настройки.

Из файла .dbml генерируйте атрибуты кода и отображения или сопоставление файла .

Этот инструмент автоматически устанавливается вместе с Visual Studio.

SQLMetalPlus

проект, где .dbml может быть автоматически сгенерирован в Visual Studio с помощью кнопки обновления.

http://www.codeproject.com/Articles/37198/SqlMetalPlus-A-VS-Add-in-to-Manage-Custom-Changes

SQLMetalPlus раздвоенный на Github

Включает прекомпилированные монтажник.

https://github.com/thedemz/dotnet-sqlmetal-plus