varios update tutorial tipos mvc migraciones han habilitar framework first español ensamblado encontrado crear contexto code c# entity-framework entity-framework-6 code-first-migrations

c# - update - Proyectos múltiples de Entity Framework con primeras migraciones de código



se han encontrado varios tipos de contexto en el ensamblado (2)

Tengo un proyecto de biblioteca de clase llamado "Core" que define CoreContext con propiedades para clases comunes:

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 ... }

Luego tengo varios proyectos que hacen referencia al proyecto "Core" y definen nuevos contextos que heredan CoreContext:

Proyecto 1:

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

Proyecto2:

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

Cuando cambio algo en Project1Context, creo una nueva migración en Project1 que está bien, pero si cambio algo en el proyecto Core, digamos que agregue propiedad Company a UserContactInfo tendré que ir a Project1 y Project2 y agregar nueva migración y lo haré terminar con las migraciones relacionadas con el proyecto Core en Project1 y Project2.

Mi pregunta es: ¿hay alguna forma de mantener las migraciones de CoreContext en el proyecto Core y las migraciones de Project1Context y Project2Context en su proyecto correspondiente y ejecutar automáticamente todas las migraciones relacionadas con el proyecto, de modo que cuando inicie Project1 ejecutará sus propias migraciones y ¿Migraciones de CoreContext?

Como aclaración, tengo bases de datos separadas para Project1 y Project2 y recientemente EF actualizada a la versión 6.


¿Quizás podría escribir su propia subclase que hereda de MigrateDatabaseToLatestVersion ?


Lo que dices no es posible. Solo imagina si estás usando un modelo para crear vistas CRUD básicas y luego cambiando el modelo. Tu pregunta es similar ...