2011-12-06 113 views
7

基本上我使用實體框架代碼優先技術。我寫的代碼作品。但是,我無法在SQL Server Management Studio中找到新創建的數據庫。它在哪裏?我應該使用什麼IDE來查看新創建的數據庫和表。 我跑沒有問題以下代碼: IsoLocationContext分貝=新IsoLocationContext();無法找到新的Code First實體框架數據庫

Address address = new Address(); 

    address.TrackingNumber = "123"; 

    db.Addresses.Add(address); 
    db.SaveChanges(); 

但是,我似乎無法找到數據庫和表。我曾嘗試刷新數據庫列表。
我加入以下行,以確保公正的數據實際上是要在數據庫中。

IList<Address> addresses = db.Addresses.ToList(); 

上述處理也適用。 我也停了下來,啓動了服務器並重啓了整個機器。只是爲了確保數據沒有被存儲在內存中。一切按預期工作。 我還在運行應用程序時針對服務器運行了Profiler,並且在跟蹤中看到沒有條目。

請告訴我,我錯過了什麼。這真讓我抓狂。

而且我使用SQL Server 2008 R2的開發者/客戶端版本。

回答

11

試着看一下你的連接字符串這樣的:

((IObjectContextAdapter)db).ObjectContext.Connection.ConnectionString 
+0

感謝那些向我指出了正確的方向。 它正在寫入SQL Express。我真的不認爲我的機器上有SQL Express。但是,我想我的VS 2010安裝它。 另一件奇怪的事情是,我確實指定了一個不是SQL Express的連接字符串。我猜Code First會忽略連接字符串。 你幫我解決了我的問題,現在我必須弄清楚如何讓應用程序寫入我想要的數據庫。 – Richard

+1

當你創建你的DbContext類時,你可以在你的基類構造函數中指定一個連接字符串。像'公共類MyDbContext:的DbContext {公共MyDbContext():基礎( 「數據源= myServerAddress;初始目錄= MYDATABASE;集成安全性= SSPI;」){}}' –

+0

真棒,用於頂端 – Richard

相關問題