Как использовать строку подключения из appsettings.json в проекте уровня DAL - PullRequest
0 голосов
/ 15 февраля 2019

В vs.net у меня есть несколько проектов в одном решении, webApplication - это проект запуска (asp.net core 2.1) и проект DataAccess (библиотека классов .net framework 4.6), я скопировал строку подключения из app.config (проект DataAccess)в appsettings.json в webApplication, но при обращении к базе данных доступа произошла ошибка: в файле конфигурации приложения не найдена строка подключения с именем «Hemmat_Entities».

app.config в проекте DAL:

 <connectionStrings>
      <add name="Hemmat_Entities" connectionString="metadata..."
 </connectionStrings> 

appsettings в ядре asp.net:

{
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "Hemmat_Entities": "data source=.;initial 
           catalog=hemmat_new;integrated 
             security=True;multipleactiveresultsets=True;application 
             name=EntityFramework&quot;"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

Ответы [ 3 ]

0 голосов
/ 16 февраля 2019

Я нашел решение, моя ошибка заключалась в том, что проект Asp.net core 2 был нацелен на ядро ​​.net, после изменения его на .net framework, проблема решена!

, поэтому, если мы хотим сослаться на другие проекты, работающиев .net461 основной проект в моем случае asp.net core 2 должен быть в целевом режиме .net framework.

0 голосов
/ 19 июня 2019

@ т-prisar.Вам нужно внедрить один на уровне представления, передавая конструктору DAL.

0 голосов
/ 16 февраля 2019

Попробуйте получить значение Hemmat_Entities, используя GetValue.И : необходимо для вложенного значения.

string connectionString = Configuration.GetValue<string("ConnectionStrings:Hemmat_Entities");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...