EF CTP5-跨多个程序集的上下文继承

问题描述

|| 我有两个程序集,每个程序集都有模型和模型上下文。 第一个程序集模型上下文是从DbContext派生的。 第二装配模型上下文是从第一装配模型上下文派生的。 这行得通,除了数据库生成失败,因为在生成数据库时不考虑第一个程序集模型。 有没有办法确保在数据库生成期间正确考虑第一个程序集模型?     

解决方法

        我通过将另一个程序集的元数据加载到上下文的构造函数中的基础ObjectContext的MetadataWorkspace中来解决此问题:
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))
            );
        }

    }
}