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и каждый раз закрывает соединение с БД.