Entity FrameworkCodeFirstモデルを使用するアプリケーションがあります。
プロジェクトの構造は次のようになります
- Application.ModelsPOCO オブジェクト
- Application.EFEF データコンテキストとリポジトリ
- Application.Web.MVC Webアプリケーション(デザイナー)
コンテキスト初期化子は次のようになります。
public class DBContextInitializer : DropCreateDatabaseIfModelChanges<DBContext>
{
protected override void Seed(DBContext context)
{
}
}
今、私はAPI呼び出しとしてデータベースからデータを取得する別のAPIアプリケーションを持っています。プロジェクトは次のようになります。
- Application.Api.MVCDTO オブジェクトを含むMVC4APIプロジェクト
- Application.Models 同じプロジェクト
- Application.EF 同じプロジェクト
(プロジェクト内の)POCOクラスを変更しなくてもApplication.Models
、Entity Frameworkはメタデータが変更されたことを検出し、データベースを削除して再作成しようとします。その場合、Designerアプリケーション(Application.Web.MVC
)を実行すると、再度ドロップされます。
なぜそうしているのかわかりません。モデルを変更していません。