C# организация доступа к базе данных в решении с несколькими проектами

Рейтинг: 0Ответов: 0Опубликовано: 24.01.2023

есть следующая структура решения, которая включает 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);
        }
    }
}

Что смущает?

  1. Статичность ConnectionString. Добавить IConfiguration, чтобы забрать это значение из user-secrets не получается, получаю ошибку
    Unable to create an object of type 'ProjectDbContext'. For the different patterns supported at design time,....
    
  2. Использование директивы using в других частях решения, которая имеет в себе блок finally и каждый раз закрывает соединение с БД.

Ответы

Ответов пока нет.