2016-05-17 113 views
0

我想創建一個使用本地數據庫(.mdf)和實體框架的winform應用程序。SaveChanges與實體框架後本地數據庫不會更新

我已經創建了數據庫和模型。當我執行此代碼:

using (var context = new testEntity()) 
{ 
    CLIENTS c = new CLIENTS(); 
    c.Name = "name"; 
    c.Age = 10; 
    context.CLIENTS.Add(c); 
    context.SaveChanges(); 
} 

一個客戶端在數據庫中創建的,我可以用這個代碼得到它:

using (var context = new testEntity()) 
{ 
    List<CLIENTS> clients = context.CLIENTS.ToList(); 
    //break point here 
} 

但增加的客戶端關閉後不上.mdf文件程序。 如果我在.mdf文件中添加一些行,我可以顯示它們,但不是相反的。

如果有人能幫幫我,謝謝

+0

上下文構造函數是什麼樣的?數據庫初始值設定項是什麼?任何重寫(SaveChanges,modelbuilder,配置)? – DevilSuichiro

回答

6

你檢查DB的Copy to Output Directory
將數據庫文件的Copy to Output Directory屬性更改爲Copy if newer.

+0

它工作,當我執行幾次我的程序,我可以得到最後一個添加的客戶端,但mdf文件是空的。 而我重建程序,數據庫被清除... –

1

.mdf每次重建代碼時文件都會丟失: 解決方案:將.mdf文件保存在其他位置,而不是構建文件夾位置。 CD驅動器,對連接字符串進行相應更改。你也可以參考Pranav's的答案。

+0

我的mdf文件在項目位置 –

0

查看配置文件(App.config)中的連接字符串 當您從數據庫生成.edmx時,它會在debug文件夾中生成數據庫的副本(如果您在debug上運行)if當它被問到時你點擊了yes。正如所說的,每次重建時,數據庫副本的內容都會被清除。

您必須將連接字符串更改爲指向您的初始dabatase。

相關問題