Строка первого подключения к базе данных SQL Azure EF на портале управления Azure
У меня есть сайт под управлением Azure, который использует модель EF Database First.
Если я вставлю строку подключения в web.config и разверну, все будет радужно.
<add name="MyEntities" connectionString="metadata=res://*/App_Code.Model.csdl|res://*/App_Code.Model.ssdl|res://*/App_Code.Model.msl;provider=System.Data.SqlClient;provider connection string='Data Source=my.database.windows.net;Initial Catalog=myTest_DB;User ID=***;Password=***; MultipleActiveResultSets=False'" providerName="System.Data.EntityClient"/>
Но я не хочу строку подключения в web.config, потому что она содержит учетные данные.
Поэтому я переместил его в область строки подключения в свойствах Azure.
Первая проблема, с которой я столкнулся, - это ошибка метаданных с недопустимым ключевым словом.
Я решил это, изменив тип с базы данных SQL на пользовательский.
Однако теперь я получаю эту ошибку:
Строка подключения "MyEntities" в файле конфигурации приложения не содержит обязательный атрибут providerName. "
Я пробежался по сети и перепробовал множество вариантов строки подключения, но пока не нашел правильную.
Примечание. Полагаю, я мог бы сделать это настройкой приложения и переместить инициализацию строки в код, но даже для любопытства я хотел бы знать, как это сделать через портал.
1 ответ
Проблема не в строке подключения, а в невозможности указать providerName
с портала.
Попробуйте выполнить публикацию с локальной или фиктивной строкой подключения и перезаписать ее, как в настройках приложения Azure. Смотрите этот ответ: /questions/42756777/stroka-podklyucheniya-veb-sajtov-azure-dlya-ef-ne-obnaruzhena/42756783#42756783