Вопрос

У меня есть две сборки, каждая с моделями и модельным контекстом.

Первый контекст модели сборки получен из DBContext.

Второй контекст модели сборки получен из контекста первой модели сборки.

Это работает, за исключением того, что генерация базы данных не работает, потому что первые модели сборки не рассматриваются при генерации базы данных.

Есть ли способ гарантировать, что первые модели сборки правильно рассмотрены во время генерации базы данных?

Это было полезно?

Решение

Я решил это, загрузив метаданные другой сборки в базовый MetadataWaworkspace в основном конструктора контекста: конструктор контекста:

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))
            );
        }

    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top