Использовать SQLMetal в базе данных SQL Azure - PullRequest
1 голос
/ 08 марта 2012

По причинам, которые я не хотел бы обсуждать, наша основная схема базы данных в настоящее время только в SQL Azure. Мы работаем над его локальным отключением с помощью такого инструмента, как Enzo Backup (мы ожидаем, что их разработчики исправят некоторые ошибки, которые мы получили при попытке загрузки), но пока я хотел бы создать Linq-to-Sql. ORM-сопоставление из схемы БД SQL Azure. Когда я пытаюсь сделать это, вывод генерирует кучу сообщений об ошибках, таких как:

Предупреждение: SQM1012: невозможно извлечь таблицу 'dbo. [TableName]' из SqlServer. Неверное имя объекта 'syscomments'.

Можно ли вообще генерировать отображение ORM из базы данных SQL Azure?

Редактировать

Обратите внимание, что Генерация сценариев из SSMS не работает даже в самой последней версии (2008 R2). Вы получаете следующую ошибку в сгенерированном отчете, когда вы пытаетесь сгенерировать сценарии для экземпляра базы данных SQL Azure, и он завершается ошибкой перед обработкой даже первого объекта:

System.IndexOutOfRangeException: индекс находился за пределами массив. в Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork (Объект отправитель, DoWorkEventArgs e) в System.ComponentModel.BackgroundWorker.OnDoWork (DoWorkEventArgs e) в System.ComponentModel.BackgroundWorker.WorkerThreadStart (Объект аргумент)

Редактировать 2

Я только что попытался использовать бесплатный инструмент SMOscript , и он генерирует сообщение об ошибке того же типа:

Objects in database [DatabaseName] on server [ServerAddress]:
Error: Index was outside the bounds of the array.

Похоже, что о простой генерации сценариев DDL не может быть и речи, и она разбита на уровне SMO для 2008 R2 по сравнению с базой данных SQL Azure.

1 Ответ

0 голосов
/ 04 апреля 2012

Похоже, все возвращается к SMO. Я наконец установил 2008 R2 SP1 и работал на моем компьютере, и, похоже, я смогу правильно генерировать скрипты (наконец) Всем спасибо за помощь!

...