В настоящее время я развертываю свое приложение в общедоступной среде хостинга, а сначала код с миграциями работает отлично, за исключением одного незначительного икота. Каждый раз, когда я хочу нажать на сайт, я должен использовать параметр "Обновить базу данных - script", потому что мне нужно добавить каждое имя таблицы с помощью [dbo]
, потому что по умолчанию общий хост создает имя схемы по умолчанию с тем же именем как имя пользователя базы данных.
Если я запишусь на свой общий хост и создаю базу данных, я должен создать пользователя. Если я назову этот администратор пользователя, тогда сначала создаются таблицы, а во время входа в систему, поскольку администратор выглядит примерно так: "[admin]. [BlogPosts]". Когда приложение запускается, все таблицы создаются, но я получаю исключение EF, потому что он говорит: "[dbo]. [BlogPosts]" недействителен. Если я переименую имя схемы таблицы в "[dbo]" вместо "[admin]", который ее исправляет.
Чтобы обойти это, мне нужно сгенерировать миграции script, которые будут выполняться вручную, и добавить "[dbo]" перед всеми именами таблиц, потому что script ссылается только на таблицы по их имени, а не по их именам схемы и их имени.
Есть ли простой способ обойти это? Было бы так приятно, если бы все, что мне нужно было сделать, это опубликовать приложение, и все просто сработало. Если бы не расхождение в имени схемы, это было бы одним щелчком мыши, и все было бы великолепно.