2011-05-12 61 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

相关问题