2011-04-11 55 views
4

我在這裏檢查和互聯網沒有答案。我如何得到這個工作?我正在使用discountasp.net SQL,因此它是一個讓它工作的設置?CREATE DATABASE權限在數據庫'master'中被拒絕。 MVC EF 4.1 Codefirst入門

+0

你是如何最終解決這個@punkouter的?我有同樣的問題,我試圖提供自己的連接,並創建自己的數據庫,並沒有解決它 – gideon 2012-02-24 10:34:51

+0

我目前有一個相關的問題(剛剛回到這)http://stackoverflow.com/問題/ 9810586/mvc-code-first-connection-string-i-changed-it-how-do-i-reinitialize-the-databa – punkouter 2012-03-21 18:25:18

回答

1

用於訪問數據庫的連接字符串中的用戶沒有創建數據庫權限,因此引發異常。嘗試更改用戶或授予他訪問權限。

+0

在代碼中,首先你不*指定連接字符串,它會嘗試根據一系列慣例創建數據庫,但根據OP告訴我們他是否提供了一個約定尚不清楚。 – 2011-04-11 20:27:27

+0

我沒有說他指定了連接字符串。數據庫連接無論如何都需要用戶,不是嗎? – archil 2011-04-11 20:29:09

+0

是的..我需要給連接字符串的上下文名稱的名稱,並修復,但現在我有一個更混亂的問題 – punkouter 2011-04-11 20:35:42

5

以下博客文章解釋了這一點。如果您的web.config中未指定連接字符串,則EF CodeFirst將嘗試在本地SQLExpress實例上創建數據庫。否則,您可以通過將實體上下文繼承自基礎構造函數的公共構造函數指定給指定的連接字符串來設置意圖。

http://blogs.msdn.com/b/adonet/archive/2011/01/27/using-dbcontext-in-ef-feature-ctp5-part-2-connections-and-models.aspx

public class UnicornsContext : DbContext 
    { 
     public UnicornsContext() 
      : base("UnicornsCEDatabase") 
     { 
     } 
    } 

無論哪種方式,你需要確保你的賬戶有合適的訪問SQL(快遞)服務器上創建一個新的數據庫。

+0

甚至可以更好地調用':base(「name = UnicornsCEDatabase」)',當找不到指定的ConnectionString時拋出異常。 – 2013-08-22 11:10:24

相關問題