2011-12-25 99 views
0

在執行數據庫訪問我的應用程序的頁面,我得到它說爲什麼EF試圖創建一個數據庫時,我已經做到了

在數據庫中創建「主」否認DATABASE權限錯誤。

以下是網址:http://price-tag.org/Store/Section/Computers

我建立了託管服務提供商的數據庫服務器和以下數據庫是我的ConnectionString

<add name="PriceCompareEntity" connectionString="Data 
    Source=rdinvent.db.8750445.hostedresource.com; Initial Catalog=rdinvent; User 
    ID=myDatabase; Password=myPassword;" providerName="System.Data.SqlClient" /> 

有什麼可以爲這個錯誤的原因是什麼?此外,爲什麼它試圖重新創建數據庫時,我已經這樣做,並沒有初始化定義的新數據庫Global.asax

回答

3

我假設你正在使用EF CodeFirst?發生這種情況的原因是因爲你沒有正確地將連接字符串設置傳遞給CodeFirst Context對象。這意味着它嘗試使用上下文的全名/名稱空間來創建ContextDB。

+0

是的,我正在使用EF CodeFirst。我在名爲rdinvent的託管提供程序數據庫服務器上創建了一個數據庫。 – 2011-12-25 10:25:03

+0

我無法理解你的意思。你的意思是說,我的上面的連接字符串在web.config中定義是所有這一切的原因。 – 2011-12-25 10:30:00

+0

實際上,您需要告知EF提供程序來自您的web.config的要使用的連接字符串。默認情況下,它只會選擇第一個。在實例化連接的地方(global.ascx或其他地方)指定連接字符串名稱。有關類似情況的詳細信息,請參閱http://stackoverflow.com/questions/4805094/pass-connection-string-to-code-first-dbcontext – 2011-12-25 10:51:28

相關問題