Code First - не создаеся БД

106
29 октября 2019, 05:10

В конструкторе класса контекста есть метод

public class ForumContext : DbContext
    {
        public DbSet<User> Users { get; set; }
        public ForumContext(DbContextOptions<ForumContext> options) : base()
        {
            Database.EnsureCreated();
        }
    }

Database.EnsureCreated() - который по инструкции при создании контекста автоматически проверяет наличие базы данных и, если она отсуствует, создает ее.

Вот он мне как раз и ругается:

System.InvalidOperationException: 'No database provider has been configured for this DbContext. A provider can be configured by overriding the DbContext.OnConfiguring method or by using AddDbContext on the application service provider. If AddDbContext is used, then also ensure that your DbContext type accepts a DbContextOptions<TContext> object in its constructor and passes it to the base constructor for DbContext.'

Предварительно я внедрил DbCotext в классе Startup.cs

 public class Startup
        {
            public IConfiguration Configuration { get; }
            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }
            public void ConfigureServices(IServiceCollection services)
            {
                  services.AddDbContext<ForumContext>(options =>      
options.UseSqlServer(Configuration.GetConnectionString("ForumConnection")));
            }
        *******
    }
Answer 1

Нашел решение, но оно какое-то не тривиальное. Помимо вышеуказзанного внедрения DbCotext в классе Startup.cs, реализовал метод OnConfiguring у ForumContext

public class ForumContext : DbContext
    {
        public DbSet<User> Users { get; set; }
        public ForumContext(DbContextOptions<ForumContext> options) : base()
        {
            Database.EnsureCreated();
        }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseSqlServer("conection strig");
            }
        }
    }

Однако дальше столкнулся с парадоксом --> продолжение вопроса

READ ALSO
Разорвать соединение COMConector

Разорвать соединение COMConector

Приложение на WPF в котором соединяюсь с 1с(RunApp) после работы вызываю закрытие соединения(ExitApp) все работает коректно соединение закрывается...

106
Дочерняя форма на месте родительской(с#)

Дочерняя форма на месте родительской(с#)

Создаю форму,но дочерняя появляется в другой стороне экрана, а хотелось бы на месте родительской

141
Не обновляется ObservableCollection

Не обновляется ObservableCollection

Не нашел ни одного похожего вопроса, кроме тех где изменения не происходят при добавление элементаА у меня проблема заключается в том что...

118
Получить сгенерированную страницу

Получить сгенерированную страницу

Нужно получить сгенерированную страницу с JS (https://wwwrusprofile

121