特別なエンティティ(テーブル)が存在しない場合は作成する必要があるため、 'DropCreateDatabaseIfModelChanges' - Initializerクラスを使用する必要があります。私の問題は、DbContext内に別のエンティティがあり、モデルの互換性チェックの一部ではないはずです。Entity Framework 4.1モデルの互換性チェックを無効にする
私は、次のようなエラーメッセージが出てい:
Model compatibility cannot be checked because the EdmMetadata type was not inclu
ded in the model. Ensure that IncludeMetadataConvention has been added to the Db
ModelBuilder conventions.
は、このチェックから特別なエンティティを除外するための任意の可能性はありますか?
EDIT: 私はDevartの示唆をしました。問題は私が最初にやったよりも違うようです。 EFがCheckedContextで新しいデータベースを作成するようにすれば、すべてうまく動作します。 This実用的なソリューションです。しかし、私は私のNonCheckedContextウィッヒは、既存のテーブルを使用する必要があります使用してみますとき...
EDIT2は、上記のエラーメッセージを取得しています。以前はデータベースが存在しないときはすべて正常に動作します。しかし、それは私のためのドロップ/データベースを作成するためのオプションはありません。
これは動作しません。 DbSet <>がなくてもDbContextから派生したラッパークラスを作成することはできません。そうすることで、基本クラス(DbContext)のコンストラクタの実行中に例外が発生します。 2つの別々のDbContextクラスを作成することはできますが、それは解決策ではありません。 – 0xbadf00d
申し訳ありませんが、それは問題ではありませんでした。私は私の最初のポストを更新しました。 – 0xbadf00d