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))
);
}
}
}
精彩评论