2012-04-01 181 views
1

我在第一次嘗試使用實體框架(4.1)和MVC時遇到了一個很奇怪的問題: 我想嘗試Database-First模式,所以我在SQL Server中創建了我的數據庫,從它得到我的EF模型,添加了一個模板,並讓我的控制器生成CRUD函數。到那裏,一切都很好。實體框架的數據持久性

但我的問題是數據存儲。我可以從生成的表單保存數據而不會出錯,但記錄不會保存在我的SQL基礎中。我的數據必須保存在某個地方(我甚至試圖重新啓動我的電腦,它們仍然是持續的)。 我也在Web.Config「實體」連接字符串中更改了我的SQL Server帳戶的密碼,但數據仍然可用。

在另一方面,我填的另一個表直通SQL服務器管理器,但我無法中檢索相應實體的數據...

是否有緩存,或者說在我的實體可以是映射到數據庫的另一個實例,或任何可以解釋這一點的東西?

非常感謝您的幫助!

+0

歡迎來到堆棧溢出的方式。用戶在這裏看到如此優秀的第一個問題是不常見的。你已經清楚地弄清楚自己有什麼不對,並描述它非常好。 – 2012-04-01 16:22:44

+0

呃下襬..抱歉...大家好!正如Anders Abel指出的那樣,在那個該死的連接之後,我有點生氣,我的歉意;-) – Colin 2012-04-01 17:04:33

回答

1

默認情況下Entity Framework會在您本地的SqlExpress服務器上創建一個數據庫。如果它沒有找到它期望的連接字符串,它將自行組成,而不是失敗。嘗試連接你的SQL服務器管理器到「。\ sqlexpress」服務器,你可能會在那裏找到你的數據庫。

隨着EF 4.3和EF的遷移,我寫了一個custom initializer,防止在未找到連接字符串的情況下自動創建。

+0

就是這樣,非常感謝!它在SQL Express中創建了一個具有我的上下文類名稱的重複數據庫。你保存了我的週末! – Colin 2012-04-01 17:09:23

0

我想你是保存數據到其他數據庫比你現在檢查。可能是你的App_Code文件夾中的sdf/mdf文件?

+0

是的,正好......它保存在SQL Express本地數據庫中。謝謝! – Colin 2012-04-01 17:39:49