Entity Framework несколько проектов с первыми миграциями кода

c# code-first-migrations entity-framework entity-framework-6

Вопрос

У меня есть проект библиотеки классов с именем «Core», который определяет CoreContext со свойствами для общих классов:

public class CoreContext : DbContext
{
    public DbSet<User> Users { get; set; }
    public DbSet<Role> Roles { get; set; }
    public DbSet<UserContactInfo> UserContactInfos { get; set; }
    ... more common properties ...
}

Затем у меня есть несколько проектов, ссылающихся на проект «Core» и определяющих новые Контексты, наследующие CoreContext:

Project1:

public class Project1Context : CoreContext
{
    public DbSet<Foo> Foos { get; set; } //object defined in Project1
}

Проект2:

public class Project2Context : CoreContext
{
    public DbSet<Bar> Bars { get; set; } //object defined in Project2
}

Когда я что-то меняю в Project1Context, я создаю новую миграцию в Project1, которая в порядке, но если я что-то изменил в проекте Core, скажем, добавьте свойство Company в UserContactInfo мне нужно будет перейти к Project1 и Project2 и добавить новую миграцию, и я в конечном итоге с миграциями, связанными с основным проектом в Project1 и Project2.

Мой вопрос: есть ли способ сохранить миграцию для CoreContext в проектах Core Project и Project1Context и Project2Context в соответствующий проект и автоматически выполнить все миграции, связанные с проектом, поэтому, когда я запустил Project1, он будет запускать собственные миграции и Переносы CoreContext?

Как пояснение, у меня есть отдельные базы данных для Project1 и Project2 и недавно обновленного EF до версии 6.

Популярные ответы

Возможно, вы могли бы написать свой собственный подкласс, который наследуется от MigrateDatabaseToLatestVersion ?



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему