C# организация доступа к базе данных в решении с несколькими проектами
есть следующая структура решения, которая включает 3 проекта
-project
-Program.cs
-project.Database
-ProjectDbContext.cs
-project.Services
-GlobalServices.cs
Все проекты - это либо библиотека, либо консольное приложение. Ни о каком ASP.Net
речи не идет.
Вопрос состоит в том, как оформить ProjectDbContext.cs
На данном этапе это выглядит вот так
namespace project.Database
{
public class ProjectDbContext: DbContext
{
private readonly string connectionString = "any_connection_string";
public DbSet<Order> Orders { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(connectionString);
}
}
}
Что смущает?
- Статичность
ConnectionString
. ДобавитьIConfiguration
, чтобы забрать это значение изuser-secrets
не получается, получаю ошибкуUnable to create an object of type 'ProjectDbContext'. For the different patterns supported at design time,....
- Использование директивы
using
в других частях решения, которая имеет в себе блокfinally
и каждый раз закрывает соединение с БД.
Источник: Stack Overflow на русском