2017-02-15 90 views
1

我一直在尋找通過對問題在這裏否認DATABASE權限,但還沒有遇到任何與我的問題涉及,道歉,如果這是一個重複的,我已經錯過了什麼。實體框架MigrateDatabaseToLatestVersion在數據庫中創建「主」的錯誤

我有一個實體框架代碼首先一個ASP.Net MVC項目。 在我的Dbcontext中;

public Context() : base("DatabaseName") 
{ 
    System.Data.Entity.Database.SetInitializer(new MigrateDatabaseToLatestVersion<Context, Configuration>()); 
} 

在我的網絡配置我有;

<connectionStrings> 
<add name="DatabaseName" connectionString="connsection string is here"/> 
</connectionStrings> 

當我的應用程序部署,我得到的錯誤

'在數據庫中創建否認DATABASE權限 '主人'。'只要 它嘗試第一次訪問上下文。

我不明白的是如何阻止它試圖創建一個數據庫,只是使用我給它的連接字符串。數據庫已經存在(它在共享主機上,所以我沒有太多的控制權),並且我知道連接字符串是正確的,因爲我在同一個應用程序中安裝了Hangfire,並使用相同的連接字符串併成功創建了表但由於某些原因,EF不會在數據庫中創建表,而是嘗試創建一個它無法完成的表。

實體框架安裝在同一項目中的配置文件,其實,這是一個單一的項目申請。

我試圖創建另一個數據庫,並添加的情況下,遲髮型是防止EF使用它第二連接字符串,但有同樣的問題。我也嘗試將全連接字符串直接放到上下文中的:base("")上,但它沒有任何作用。

+0

你想訪問本地數據庫或SQL Server數據庫? – Usman

+0

它是一個獨立於主機的SQL服務器數據庫 –

回答

0

嘗試獲得connectionString按名稱

public Context() 
      :base("name=DbConnection") 
     { 

     } 
Web.config文件

添加

<connectionStrings> 
    <add name="DbConnection" connectionString="Data Source=serveraddress;Persist Security Info=False;User ID=usename;Password=pass;Initial Catalog=databasename" providerName="System.Data.SqlClient" /> 
    </connectionStrings>