我在EF Code First应用程序中注释了对Database.SetInitializer<>()
的所有调用。但是,即使没有任何显式调用来创建数据库,我的Asp.net MVC应用程序仍在创建数据库。我有几个原因可以解决这个问题:
1)我不喜欢EF在没有告诉它的情况下创建新数据库这一事实。
2)它一直试图在我的webhost上创建(或更新)数据库(即使数据库已经存在),因此我获得了权限被拒绝的异常。
有没有人有任何见解为什么这似乎完全不受我的控制?
答案 0 :(得分:4)
在CTP 5中,解决方案是
Database.SetInitializer<MyContext>(null);
我认为这在EF 4.1中并没有改变。如果您对该呼叫发表评论,则默认为DropCreateDatabaseIfModelChanges
。