Как добавить файл конфигурации в библиотеку классов, а затем строку подключения для.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));
}
Другие вопросы по тегам