.SaveChanges不在实体框架中对数据库应用更改

时间:2011-05-12 13:50:03

标签: .net entity-framework

我正在尝试使用下面的代码在我的数据库的“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();

1 个答案:

答案 0 :(得分:3)

全部修复 - 我发现问题是每次运行时数据库都被复制到输出目录。所以我正在查看的表(我的应用程序的根目录中的表)不是它添加的表。

这篇由@ Jean-Lois解决的帖子是我找到解决方案的地方: C# Entitity framework SaveChanges() not working

要解决此问题,我将数据库'Copy to output directory'设置为'Do not copy',并将完整文件路径放在app.config中的数据库连接字符串中