2016-02-29 75 views
2

當我谷歌「MVC連接字符串」或類似的東西,我得到了一堆關於這個問題/文章,我讀過的所有這些說編輯一個Web.config文件。是否有任何理由在我的項目中不起作用?MVC實體框架連接字符串不起作用

我的項目使用實體框架,現在它工作在本地數據庫。我編輯了兩個Web.config文件(一個在項目文件夾中,另一個在Views文件夾中 - 我真的不知道其中的差別)。這些文件最初沒有任何<connectionStrings>標籤,所以我手動添加這一點,這兩個文件:

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=mysite.database.windows.net;Initial Catalog=Developer;User ID=user;Password=pass" providerName=".NET Framework Data Provider for SQL Server"/></connectionStrings> 

..但它仍然使用我的本地數據庫。有什麼明顯的事情我錯過了?

編輯:

刪除調試和重建不起作用。

這裏是我的上下文類

public class TrackerContext : DbContext 
{ 
    public TrackerContext() : base() {} 
    public DbSet<Toll> Tolls { get; set; } 
    public DbSet<TollRecord> TollRecords { get; set; } 
    public DbSet<Trip> Trips { get; set; } 
    public DbSet<TripRecord> TripRecords { get; set; } 
} 

無連接字符串。我能以某種方式強制嗎?

+0

我想,你應該刪除debug文件夾和重建項目。 –

+0

有時Entity Framework在上下文中擁有他自己的連接字符串。檢查EF使用您的web.config文件,而不是他的構造函數中的變量。 – AdrienTorris

+0

如果您通過NuGet安裝EF,您的默認connectionstring應自動添加到配置文件中。你可以連接到Visual Studio服務器瀏覽器中的'mysite.database.windows.net'嗎? –

回答

2

構造函數改成這樣:

public TrackerContext() : base("Name=DefaultConnection") {} 
+0

這工作..我必須做這一步嗎?我雖然它是可選的。 – mathkid91

+0

這是說底層的d​​bcontext從哪裏獲取連接字符串。這一點是這樣的,你可以有多個連接字符串到不同的數據庫。 –

相關問題