2013-03-23 55 views
0

我想將Entity Framework 5.0部署到Shared Hosting。CodeFirst無法在共享主機上創建數據庫

現在我有數據庫的問題。我無法創建數據庫。

<add name="ResContext" 
connectionString="Data Source=XXXX5.db.10232343.hostedresource.com; 
Initial Catalog=XXXX5; User ID=XXXX5; 
Password=XXXXXXXXX!;Integrated Security=false" 
providerName="System.Data.SqlClient"></add> 

首先 的providerName = 「System.Data.SqlClient的」

我有問題

無法刪除數據庫 'XXXX5',因爲它不存在,或者你沒有允許。

但是,當我改變provideName到

的providerName = 「System.Data.EntityClient」

關鍵字不支持: '數據源'。

+0

何時/您在哪裏看到它?它在調試器中嗎? – Pawel 2013-03-23 15:47:30

+0

@Pawel是的,它在調試器中。 我在localMachine上運行它來測試它是否工作 – riseres 2013-03-23 15:51:41

回答

0

通常,GoDaddy不授予您以編程方式創建或刪除數據庫的權限。它們只允許您通過用戶界面創建這些數據庫。這是因爲他們不希望人們在整個地方創建數據庫,他們希望確保只有您有權訪問共享用戶環境中的數據庫。

因此,您不能使用EF使用的默認生成方法。相反,您可以使用數據庫初始值設定程序:

Database.SetInitializer<YourContextType>(null); 
0

您可能打開了打開的異常。應該處理這個例外,你應該能夠按F5繼續。你可能會看到幾個(5左右)這樣的例外。這就是EF如何探測你想要使用的數據庫是否存在,是否是最新的等等。你也可以改變設置 - 進入「Debug - > Exceptions ...」並取消勾選「公共語言運行時例外「行中的」拋出「列。

+0

還啓用「[只是我的代碼](http://blogs.msdn.com/b/zainnab/archive/2010/10/25/understanding-just-my-code .aspx)「在調試器設置中應該隱藏這些在其他庫中引發的異常(並在獲取代碼之前捕獲)。 – 2013-03-24 08:33:16