プロジェクトに Framework 4.0 用の Entity Framework 5.0 RC をインストールしました。しかし、ビューからデータを取得しようとすると、エラーが発生します。EF は、このエンティティのテーブルを作成しようとします。
質問する
9942 次
2 に答える
26
アプリケーションの起動時にこれを使用して、データベースの初期化と移行をオフにします。
Database.SetInitializer<YourContextType>(null);
于 2012-05-24T08:48:14.220 に答える
11
コンテキストを使用しているプロジェクトに関係なく、データベースの初期化/移行を完全にオフにしたい場合は、コンテキストに静的コンストラクターを追加して初期化子を呼び出すことができます。これにより、コンテキストの最初の構築/使用の前に SetInitializer が 1 回呼び出されることが保証されます。
public class YourContext : DbContext
{
static YourContext()
{
// don't let EF modify the database schema...
Database.SetInitializer<YourContext >(null);
}
public YourContext() : base("name=YourContext")
{}
...
}
ただし、選択したいくつかのプロジェクトでのみこれを実行したい場合は、Ladislav が提案するように、通常の IoC セットアップ中など、アプリケーションの起動を介して明示的に実行することをお勧めします。
于 2013-07-30T22:06:34.437 に答える