SaveChanges()方法不保存对数据库的更改

时间:2015-02-20 18:03:32

标签: c# database entity-framework

我刚开始使用Entity框架,我可以使用linq进行选择操作,但是我遇到了插入问题。我试过这个样本看错了什么:

        testEntities te = new testEntities();
        te.Customer.Add(new Table {Id=1,Credit=200m,Name="test" });
        te.SaveChanges();

看起来行的更改只是添加到testEntites而不是数据库,当我重新启动应用程序时,我发现没有添加任何行。 谢谢,

2 个答案:

答案 0 :(得分:2)

我修复它的一种方法是确保将所有必填字段放在数据库中。之前我遇到了同样的错误。我检查了我的数据库,当我进行查询时,我没有放入不可为空的字段。这解决了我的问题。

答案 1 :(得分:0)

删除记录时遇到此问题。不确定是什么导致这种情况,但我通过强行改变实体的状态来修复它。一些伪代码:

Customer CustomerRecord = db.Customer.Find(Id);
te.Entry(CustomerRecord).State = System.Data.Entity.EntityState.Added;
te.SaveChanges();