2011-05-12 67 views
4

我試圖使用下面的代碼在我的數據庫的'UserAlertSubscriptions'表中添加一個條目,它只是將用戶鏈接到alertconfigurations。.SaveChanges不在實體框架中應用對數據庫的更改

問題是,雖然我沒有得到任何錯誤條目不會被添加到數據庫。

任何想法我做錯了什麼。正如你所看到的,我嘗試了ApplyAllChanges,但這沒有什麼區別。

AlerterDataEntities alerterDataEntities = new AlerterDataEntities() 

// get current user 
User user = alerterDataEntities.Users.Where(u => u.UserID == 1).ToList<User>()[0]; 

// get selected alert configuration 
AlertConfiguration alertConfiguration = 
    alerterDataEntities.AlertConfigurations.Where(a => a.AlertConfigurationID == 3).ToList 
     <AlertConfiguration>()[0]; 

UserAlertSubscription userAlertSubscription = new UserAlertSubscription 
{ 
    User = user, 
    AlertConfiguration = alertConfiguration 
}; 

user.UserAlertSubscriptions.Add(userAlertSubscription); 
//alerterDataEntities.AcceptAllChanges(); 
alerterDataEntities.SaveChanges(); 
+1

'var user = alerterDataEntities.Users.First(u => u.UserID == 1)' – SLaks 2011-05-12 13:53:14

+0

謝謝SLaks,這確實使它更整潔的代碼,我用'首先'爲用戶ans alert配置建議......但是,它仍然不能保存與數據庫的關係。 – 2011-05-12 14:03:23

+0

這就是爲什麼它是一個評論,而不是一個答案。我不知道問題是什麼。 – SLaks 2011-05-12 14:04:33

回答

3

所有修復 - 我發現問題是每次運行它時數據庫被複制到輸出目錄。所以我所看到的表格(我的應用程序的根目錄)並不是它添加的表格。

本帖由@讓 - 洛伊絲是在那裏我找到了解決方法解決: C# Entitity framework SaveChanges() not working

爲了解決它,我將數據庫設置「複製到輸出目錄」到「不要複製」,把完整的文件路徑在數據庫連接字符串中的app.config

相關問題