2

我已经注释掉了Database.SetInitializer<>()我的 EF Code First 应用程序中的所有调用。然而,即使没有任何显式调用来创建数据库,我的 Asp.net MVC 应用程序仍在创建数据库。为什么这是一个问题,我有几个原因:

1) 我不喜欢 EF 在没有我告诉它的情况下创建新数据库的事实。

2)它不断尝试在我的虚拟主机上创建(或更新)数据库(即使数据库已经存在),因此我得到了权限被拒绝的异常。

有谁知道为什么这似乎完全不受我的控制?

4

1 回答 1

4

在 CTP 5 中,解决方案是

Database.SetInitializer<MyContext>(null);

我认为这在 EF 4.1 中没有改变。如果您对调用进行注释,则默认为DropCreateDatabaseIfModelChanges.

于 2011-03-26T00:09:56.463 回答