今日、私は自分のデータベース モデルに変更を加えていました。コンパイルせずに、2時間ほど修正していました。
だから、私は私のアプリケーションにこれを持っています:
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDb>());
そして通常、モデルに変更を加えていたときは、これを行うだけで十分でした:
var tmp = new MyDb();
tmp.Categories.Any();
そして、モデルは自分自身を再作成していました。しかし、今、モデルを変更した後、エラーが発生しました:
オブジェクト参照がオブジェクト インスタンスに設定されていません。
MyDb() を呼び出しているため、このインスタンスが設定されているため、それが何を意味するのかまったくわかりません。ここで何が起こっているのですか?何が間違っているかを確認するにはどうすればよいですか?
編集:私が今発見したことは、データベースを再作成しようとさえしていないということです。私はこれを設定しました:
public class MyDatabaseInitializer : DropCreateDatabaseIfModelChanges<ScykDb>
{
protected override void Seed(ScykDb context)
{
base.Seed(context);
(code...)
}
}
私のapplication_startに:
Database.SetInitializer(new MyDatabaseInitializer());
そして、私はこのメソッドにブレークポイントを入れましたが、ヒットしていません!