Я создал веб-приложение ASP.NET MVC / WebAPI 2 в своей локальной среде. Я использую LocalDb для своих целей разработки и следую подходу EF «Сначала код» (я написал все классы своих моделей и при необходимости запустил миграции). В моей локальной среде все работает нормально.
Я подумал, что было бы неплохо опубликовать приложение в Azure, чтобы протестировать его. Я создал экземпляры Web App + SQL и могу подключиться к ним. Мне удалось опубликовать часть веб-сайта, но, к сожалению, я не могу опубликовать базу данных.
Например. когда я захожу на .azurewebsites.net, страница загружается, но как только я пытаюсь войти в систему, я получаю сообщение об ошибке:
Cannot find the object “dbo.Locations” because it does not exist or you do not have permissions
Это говорит мне, что мои таблицы не были успешно перенесены (даже несмотря на то, что я поставил галочку «выполнять миграции с первым кодом» в мастере «публикации»).
Уже 2 дня пытаюсь найти решение, но безрезультатно. Я видел многих, которые говорят, что мне нужно перейти на SQL Server локально, тогда он будет работать только в Azure, однако я не могу найти способ экспортировать свои данные из LocalDb в SQL Server (я не мог найти эту опцию даже в SSMS. ).
Также я нашел руководство - http://www.asp.net/mvc/overview/getting-started/database-first-development/creating-the-web-application - но когда дело доходит до публикации базы данных, в нем говорится, что нужно просто щелкнуть правой кнопкой мыши по решению базы данных и выбрать «Опубликовать» - у меня нет проекта / решения базы данных - для меня это всего лишь один файл mdf.
Я новичок в ASP.NET, поэтому буду признателен за любую помощь. Спасибо!
Я наконец разобрался с проблемой.
Строка подключения на новом портале Azure не предоставляет необходимых Database
часть к нему. Итак, веб-приложение пыталось выбрать таблицу из базы данных без выбора базы данных.
я добавил "Database=<my database>"
к строке подключения, и теперь он работает отлично! Изначально база данных была пустой, но мне удалось перенести данные с локального SQL Server в Azure.
Что интересно, старый портал Azure делает включить Database
строка. Я сообщу об этом в Microsoft.