开发者

EF CTP5 - Context Inheritance Across Multiple Assemblies

开发者 https://www.devze.com 2023-03-12 09:13 出处:网络
I have two assemblies, each with models and a model context. The first assembly m开发者_运维问答odel context is derived from DbContext.

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

精彩评论

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

关注公众号