實體框架4.1代碼首先與SQLEXPRESS
對localhost
很好。但是,我現在準備連接到常規SQL 2008 server
。EF 4.1 CF:CREATE DATABASE權限在數據庫'master'中被拒絕
我創建了一個新的數據庫「NewEfDatabase」。
然後將我的「
ApplicationServices
」connectionString
改爲Web.config
以指向具有集成安全性的新數據庫。
但後來我得到這個錯誤:
「CREATE DATABASE permission denied in database 'master'.
」
所以......
一)什麼權限呢EF 4.1 CF需要在上述SQL服務器來完成其工作?
B)我可以安裝在SQL 2008
一個空數據庫用於EF 4.1 CF,還是我要讓它做所有的工作給我嗎? (我不知道我的DBA會喜歡讓我的EF應用有權做任何特定數據庫外)
不,我還沒有試過。我會放棄它。在那種情況下,我應該從我本地的SQLEXPRESS遷移我的數據和模式嗎?我認爲它可以在我的目標位置建立數據庫。但忘記了它執行的下降創建步驟。 – 2011-04-07 16:59:22
@Dan:是的,如果將初始化程序設置爲「null」,則必須將DB遷移到目標實例。在這種情況下,DB模式和EF模式必須匹配,那麼,英孚將不會更新或重新架構,可能會拋出異常,如果架構和模式不匹配。 – Slauma 2011-04-07 17:04:03
我處理這個問題的方法是創建開發電腦名稱的列表,如果應用程序是在這些PC中的一個運行我只能叫SetInitializer(重新創建數據庫)。對於任何其他機器,我假設數據庫已經部署在那裏。 – 2011-04-07 17:54:46