質問

私には2つのアセンブリがあり、それぞれにモデルとモデルのコンテキストがあります。

最初のアセンブリモデルコンテキストは、DBContextから派生しています。

2番目のアセンブリモデルコンテキストは、最初のアセンブリモデルコンテキストから導き出されます。

これは、データベースの生成モデルがデータベースを生成するときに考慮されないため、データベース生成が失敗することを除いて機能します。

データベース生成中に最初のアセンブリモデルが適切に考慮されるようにする方法はありますか?

役に立ちましたか?

解決

コンテキストのコンストラクター内で、他のアセンブリのメタデータを基礎となるObjectContextのメタデータの空間にロードすることでこれを解決しました。

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

    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top