Получить строку подключения Azure в уровне данных - PullRequest
1 голос
/ 08 марта 2019

Кто-то подумал, давным-давно было бы неплохо добавить строку соединений, жестко закодированную в слой данных нашего веб-API.Из-за этого наследия я не могу удалить этот класс.Этот класс наследует IDbContextFactory, и ему нужно получить строку подключения, которая теперь жестко запрограммирована.Чтобы сделать его более ... динамичным, я хочу использовать для этого строки подключения Azure.

1 Я добавил строку подключения в конфигурацию службы приложения.

2. Для многих веб-сайтов я могу просто добавить следующий код для получения строки подключения:

connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

Это не работает;он дает «Ссылку на объект, не установленную для экземпляра объекта».ошибка.

Другие говорят, что вам нужно добавить префикс и среду:

connectionString = Environment.GetEnvironmentVariable("SQLCONNSTR_DefaultConnection");

Очевидно, это тоже не работает.И да, я выбрал sql server в раскрывающемся списке.

Другая вещь, которую я пытался, как кто-то предложил, это добавить строку подключения в web.config.И опять;это не сработало.

Хорошо знать, что это .NET 4.6.2, поэтому все красивые решения для .NET Core 1/2 не будут работать.

1 Ответ

0 голосов
/ 08 марта 2019

Сначала вы должны включить в файл web.config ту же строку подключения с пустым значением connectionString. Затем вы можете перезаписать в разделе настроек приложения.

`<connectionStrings>
    <add name="DefaultConnection" connectionString="" />
    <add name="CMSEntities" connectionString="" 
 providerName="System.Data.EntityClient" />
</connectionStrings>`

Для каркаса сущности укажите providerName как «System.Data.EntityClient», и настройки выбрали Настраиваемый вместо SqlServer

...