【问题标题】:EF CTP5 - Context Inheritance Across Multiple AssembliesEF CTP5 - 跨多个程序集的上下文继承
【发布时间】:2011-10-09 08:05:37
【问题描述】:

我有两个程序集,每个程序集都有模型和模型上下文。

第一个装配模型上下文派生自 DbContext。

第二个装配模型上下文派生自第一个装配模型上下文。

这可行,但数据库生成失败,因为生成数据库时未考虑第一个装配模型。

有没有办法确保在数据库生成期间正确考虑第一个装配模型?

【问题讨论】:

标签: entity-framework entity-framework-4.1 entity-framework-ctp5


【解决方案1】:

我通过将其他程序集的元数据加载到上下文构造函数中的底层 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))
            );
        }

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多