Как добавить файл конфигурации в библиотеку классов, а затем строку подключения для.NET Core 1.1
Я работаю над n-уровневым приложением, где у меня есть уровень доступа к данным. который не зависит от любого другого приложения. Я создал библиотеку классов для.NET Core 1.1, я вижу папку зависимостей, но не любой файл config/JSON. Я хочу знать, могу ли я добавить файл AppSetting.JSON в проект библиотеки классов? с последующим как я могу добавить строку подключения. Я знаю, чтобы переопределить ConfigureBuilder в классе DbContext -> SQLServerConnection, но я хочу сохранить в отдельном файле конфигурации и обратиться к этим строкам подключения.
Также отметим, что эта библиотека классов не будет напрямую связана с приложением ASP.NET
При поиске в Google я нашел следующую ссылку https://www.stevejgordon.co.uk/project-json-replaced-by-csproj но у меня остается вопрос, где и как добавить строку подключения для проекта библиотеки классов?
1 ответ
Вы как будто неправильно поняли это. Вы не хотите иметь конфигурационный файл для вашей сборки DAL, вы просто хотите, чтобы ваш DAL вообще ничего не знал о конфигурации!
Как правило, все, что вы настраиваете для DAL, это строка соединения, и это легко можно передать конструктору:
public class MyRepository : IMyRepository
{
public MyRepository(string connectionString){ ... }
}
Когда вы используете этот DAL в чем-то вроде webapi, скорее всего, вы будете использовать Dependency Injection - и здесь вы будете читать строку conn из конфигурации web api
public void ConfigureServices(IServiceCollection services)
{
var connectionString = Configuration.GetConnectionString("MyConnectionString");
services.AddScoped<IMyRepository>(sp => new MyRepository(connectionString));
}