开发者

EF CTP5 - Context Inheritance Across Multiple Assemblies

I have two assemblies, each with models and a model context.

The first assembly m开发者_运维问答odel context is derived from DbContext.

The second assembly model context is derived from the first assembly model context.

This works, except the database generation fails because the first assembly models aren't considered when generating the database.

Is there a way to ensure that the first assembly models are properly considered during database generation?


I solved this by loading the other assembly's metadata into the underlying ObjectContext's MetadataWorkspace within the context's constructor:

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

    }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜