1

mvc 4 アプリを実行すると、次のエラーが表示されます。

データベースが作成されてから、'DMSContext' コンテキストをサポートするモデルが変更されました。Code First Migrations を使用してデータベースを更新することを検討してください

既存のデータベースに対してアプリを実行していますが、モデルが変更されるたびにデータベースを再作成したくありません。

私はグーグルでたくさんの答えを見つけましたが、どれもうまくいきませんでした。

具体的には、global.asax に以下を追加しようとしました。

Database.SetInitializer<DMSContext>(null);

Database.SetInitializer<DMSContext<Contact>>(null);

上記では、DMSContext は DbContext です。Contact は、エラーの原因となった変更が発生したモデルです。

また、コンテキスト クラスに以下を追加しようとしました。

public DMSContext() : base()
          {
             Configuration.AutoDetectChangesEnabled = false;
          }

私が従った方向のほとんどはこのページからのものですが、運はありません.

データベースが作成されてから、 <Database> コンテキストをサポートするモデルが変更されました

4

3 に答える 3

2

を使用している場合はEntity Framework Code First、アプリケーションで移行を有効にすることをお勧めします。これを行うには、このリンクを参照してください

コード (主にエンティティ) で何かを変更するたびに、ビルドUpdate-Database -ForceしてからPackage Manager Console.

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-04-08T18:06:25.687 に答える
2

移行を使用しない場合でも、移行を作成してみますが、実行しないでください。ただし、データベースとの違いを確認できます。

于 2013-04-08T15:43:47.647 に答える
2

DbContextを継承するクラス名を確認してください。その名前は、Web.config の connectionString の名前と同じである必要があります。

<connectionStrings>
    <add name="TheSameNameAsYourDbContextClass" providerName="" connectionString="" />
  </connectionStrings>
于 2014-03-21T10:29:28.927 に答える