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