1

カスタム DbContext クラスがあります。システムに既存のテーブルがあります。POCO ベースのシステムをセットアップしました。

テーブルの DbSet をクエリしようとすると、テーブルを作成しようとします。テーブルがDBに既に存在するようになったので、SQLサーバーは例外をスローします。

EFによるテーブルの作成を抑制する方法は?

4

2 に答える 2

2

アプリケーションの起動時 (例:Application_Start()のメソッドglobal.asax.cs) で、データベースの作成に使用する戦略を指示します。

 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourContext>());

DatabaseSystem.Data.Entity名前空間にあります。

使用する場合new DropCreateDatabaseIfModelChanges<YourContext>()、データベースを削除し、db スキーマと POCO の間に変更がある場合はそれを作成しようとします。

于 2012-11-04T21:48:06.013 に答える
1

これを DbContext 実装に入れます。

// static constructor
static MyDbContext()
{
    Database.SetInitializer<MyDbContext>(null);
}
于 2012-11-04T21:52:59.567 に答える