Обновление базы данных из моделей с использованием структуры сущностей в многопользовательском ядре .NET
Я использую структуру сущности.net core.
У меня мультитенантные БД. поэтому я сохранил одну базу данных корневого тенанта. и я хочу реплицировать эти изменения схемы на все другие базы данных, используя структуру сущностей. Я создаю свои модели, используя следующую команду.
Scaffold-DbContext "Data Source=(local);Initial Catalog=sampleTenantDb;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Tenants -Force
Поэтому при создании нового клиента я просто использую
context.Database.EnsureCreated();
Но когда я добавляю новую таблицу в код, я хочу применить ее ко всем арендаторам. Так как мне это сделать?
Я пробовал следовать, но это не работает (не добавляя таблицы повторного использования)
myDbContext.Database.Migrate();
2 ответа
Если ваш DbContext создан с помощью Scaffold-DbContext, у него не будет никаких миграций. Это для рабочего процесса, ориентированного на базу данных, в котором вы применили бы изменения DDL к базам данных клиента с помощью сценария, возможно, созданного с помощью SQL Server Data Tools.
Вам необходимо создать несколько объектов dbcontext и передать строку подключения таким образом, чтобы вы могли обновить несколько db