Pregunta

Tengo dos conjuntos, cada uno con modelos y un contexto de modelo.

El primer contexto del modelo de ensamblaje se deriva de DBContext.

El segundo contexto del modelo de ensamblaje se deriva del contexto del primer modelo de ensamblaje.

Esto funciona, excepto que la generación de la base de datos falla porque los primeros modelos de ensamblaje no se consideran al generar la base de datos.

¿Hay alguna manera de garantizar que los primeros modelos de ensamblaje se consideren adecuadamente durante la generación de bases de datos?

¿Fue útil?

Solución

Resolví esto cargando los metadatos del otro ensamblaje en el MetadataWorkspace del objeto subyacente dentro del constructor del contexto:

namespace MyNamespace{
    public class MyContext : DbContext {

        public ObjectContext ObjectContext { 
            get { return ((IObjectContextAdapter)this).ObjectContext; } 
        }

        public MyContext() : base() {
            this.ObjectContext.MetadataWorkspace.LoadFromAssembly(
               System.Reflection.Assembly.GetAssembly(typeof(MyNamespace.MyContext))
            );
        }

    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top