簡體   English   中英

為什么EF4.1 CodeFirst即使沒有“ Database.SetInitializer <>()”調用也會創建數據庫?

[英]Why is EF4.1 CodeFirst is creating a database even without a `Database.SetInitializer<>()` call?

我已經在EF Code First應用程序中注釋了對Database.SetInitializer<>()所有調用。 但是,即使沒有任何顯式調用來創建數據庫,我的Asp.net MVC應用程序仍在創建數據庫。 我有幾個原因解釋為什么這是一個問題:

1)我不喜歡EF在不通知我的情況下創建新數據庫的事實。

2)它一直嘗試在我的Web主機上創建(或更新)數據庫(即使數據庫已經存在),因此我遇到了權限被拒絕的異常。

有誰知道為什么這似乎完全不受我控制?

在CTP 5中,解決方案是

Database.SetInitializer<MyContext>(null);

我認為這在EF 4.1中沒有改變。 如果對注釋進行注釋,則默認為DropCreateDatabaseIfModelChanges

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM