У меня есть рабочий сайт с несколькими контекстами с использованием миграции. Однако вам нужно использовать отдельную базу данных для каждого контекста, и все это отключено от класса * Configuration в пространстве имен Migrations вашего проекта, поэтому, например, CompanyDbContext указывает на Company.sdf, используя CompanyConfiguration. update-database -configurationtypename CompanyConfiguration
. Другой LogDbContext указывает на Log.sdf, используя LogConfiguration и т. Д.
. Учитывая это, попробовали ли вы создать 2 контекста, указывающих на одну и ту же базу данных, и сообщить разработчику модели игнорировать список таблиц другого контекста?
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Ignore<OtherContextsClass>();
// more of these
}
Поскольку миграция работает с ModelBuilder, это может сделать задание.
Дрянной альтернативой является избегать использования автоматических миграций, каждый раз генерировать миграцию, а затем вручную просеивать и удалять нежелательные заявления, а затем запускать их, хотя нет ничего, что помешает вам создать простой инструмент, который будет анализировать контексты и сгенерированные операторы, а также исправления для вас.