5

我正在使用EF6並對我的模型進行了一些更改。 現在所有的突然試圖通過的NuGet命令更新,數據庫來更新我的數據庫時,我收到以下錯誤:更新數據庫時出錯:SQL網絡接口,錯誤:26 - 錯誤定位服務器/實例指定

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

我沒有在我的連接設置(或的web.config在改變什麼一般),但這裏是我的連接字符串:

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\LM.DataAccess.mdf;Initial Catalog=LM.DataAccess;Integrated Security=True" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

服務器資源管理器 - >數據連接我可以訪問數據庫沒有任何問題。

這裏有什麼問題?我試圖通過SQL Server對象瀏覽器刪除數據庫,但仍然出現錯誤。

仍然需要幫助的人。 如果有人能幫助我,我會非常感激 - 我已經盡力了!

回答

0

如果您在解決方案中有多個項目,則會發生這樣的錯誤。運行update-database - 詳細並確保包管理器控制檯中的默認項目和解決方案資源管理器中的啓動項目都設置爲包含代碼遷移的項目。

4

我有同樣的問題,在我的情況下,連接字符串是從Web項目而不是EntityFramework項目中讀取的,因此我將Web項目作爲Solution StartUp項目,以便Package Console Manager可以讀取連接字符串,並在包控制檯管理器中選擇EntityFramework項目作爲默認項目。

7

當您的遷移項目不是啓動項目時,這意味着您需要在啓動項目中設置連接字符串以使其正常工作。

希望它有幫助。 最好的問候。

+0

謝謝!這解決了我的問題。我沒有意識到需要設置命令才能找到web.config和正確的連接。我認爲包管理器控制檯中的「默認項目」選項就足夠了。到底什麼是默認項目呢? – 2015-04-28 17:53:18

+1

@DanCsharpster「默認項目」是PMC將在其中執行命令的項目。我認爲connectionstring必須位於startUp項目.config文件中的原因是因爲這是IIS用來模擬服務器的.config文件你的機器,我的意思是,我猜IIS忽略了其他.config文件,並使用啓動的。也許這些命令是一樣的。我會稍後檢查!很高興幫助! – 2015-04-29 03:30:00

1

按照分步: 1 /創建正確連接到數據庫在web.config中 1 /右鍵 - >選擇「設置爲默認項目」 2 /運行更新數據庫againt

這是修復。

相關問題