我正在尝试使用下面的代码在我的数据库的“UserAlertSubscriptions”表中添加一个条目,该表只是将用户链接到警报配置。
问题是虽然我没有收到任何错误,但该条目没有被添加到数据库中。
知道我做错了什么。正如你所看到的,我尝试了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();
答案 0 :(得分:3)
全部修复 - 我发现问题是每次运行时数据库都被复制到输出目录。所以我正在查看的表(我的应用程序的根目录中的表)不是它添加的表。
这篇由@ Jean-Lois解决的帖子是我找到解决方案的地方: C# Entitity framework SaveChanges() not working
要解决此问题,我将数据库'Copy to output directory'设置为'Do not copy',并将完整文件路径放在app.config中的数据库连接字符串中