Я хочу использовать приложения ASP.NET Application Services, но настройте его для использования другой схемы. Я использую инструмент aspnet_regsql.exe, как указано в this URL, который по умолчанию создает таблицы и хранимые процедуры с помощью схемы dbo.Настроить службы приложений ASP.NET для использования схемы, отличной от «dbo»
Так что я думал, что могу просто сгенерировать сценарий базы данных из существующих объектов приложения, а затем найти и заменить [dbo] с помощью [example], а затем удалить исходные объекты прикладных служб и выполнить отредактированный сценарий, чтобы получить результат Я хотел. Было бы только смешно.
Но в чтении this Скотт Гу блогера есть люди в разделе комментариев, которые пробовали этот подход и обнаружили, что он упал. Скотт ответил, запросив электронное письмо о проблеме, которое, как я полагаю, является подтверждением проблемы, но я не вижу разрешения.
Итак, я на этапе моделирования данных, и я действительно не хочу, чтобы на этом треке было много хлопот. Кто-нибудь знает, если это было разрешено или если все еще есть какие-то помехи в подходе find и replace к проблеме схемы «dbo»?
UPDATE:
Так я даже не получить «очень далеко вниз по дорожке», прежде чем выше упал. Очевидно, что достаточно легко настроить базу данных так, чтобы все объекты правильно ссылались друг на друга с использованием новой схемы, но в ней появился весь код поддержки с жесткими ссылками «dbo» в нем ... вместо того, чтобы использовать стандартную схему подключаемой учетной записи пользователя ,
Просто попробуйте использовать VS Studio> Проект | Инструментария ASP.NET CONFIGURATION достаточно, чтобы разбить его. После изменения веб-конфигурации, чтобы указать на новую базу данных с помощью скорректированных схем, а затем перейдите на вкладку «Безопасность» в инструментах конфигурации, я получаю сообщение об ошибке «Не удалось найти хранимую процедуру dbo.aspnet_CheckSchemaVersion». Так появляется «ДБО» испечен в :(
UPDATE 2:.
Так я добавил в синонимами, как указано в принятом ответе и он работает, но я есть .., чтобы ввести 4 записи в базу данных для того, чтобы получить его прокатки, что потребовалось целых 30 секунд;)
Перед этим я получил следующее сообщение об ошибке:
The 'System.Web.Security.SqlMembershipProvider' requires a database schema compatible with schema version '1'
Так что мне пришлось скопировать строку приложения из таблицы aspnet_Applications. А затем 3 строки из таблицы aspnet_SchemaVersions. Я получил их от установки схемы dbo по умолчанию.
Это был рекорд aspnet_Applications (замаскированный 'хххх' на уникальность - вы должны сделать свой собственный ключ):
/ /xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx NULL
Это были aspnet_SchemaVersions записи:
common 1 True
membership 1 True
role manager 1 True
It все работает сейчас. Я обновлю это сообщение, если у меня возникнут какие-либо проблемы в будущем.