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

C# SaveChanges()方法不保存对数据库的更改,c#,database,entity-framework,C#,Database,Entity Framework,我刚开始使用实体框架,我能够使用linq执行选择操作,但在插入时遇到了问题。我尝试了这个示例,看看有什么问题: testEntities te = new testEntities(); te.Customer.Add(new Table {Id=1,Credit=200m,Name="test" }); te.SaveChanges(); 看起来,行的更改只添加到testEntites,而没有添加到数据库,当我重新启动应用程序时,我发现没有添加

我刚开始使用实体框架,我能够使用linq执行选择操作,但在插入时遇到了问题。我尝试了这个示例,看看有什么问题:

        testEntities te = new testEntities();
        te.Customer.Add(new Table {Id=1,Credit=200m,Name="test" });
        te.SaveChanges();
看起来,行的更改只添加到testEntites,而没有添加到数据库,当我重新启动应用程序时,我发现没有添加行。
谢谢,

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

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

我修复它的一种方法是确保我将所有必需的字段都放在数据库中。我以前也犯过同样的错误。我检查了我的数据库,在进行查询时没有放置不可为空的字段。这就解决了我的问题。

你有什么错误吗?您是否在使用任何事务作用域?是否有任何错误?尝试创建
var t=newtable{Id=1,Credit=200m,Name=“test”};t、 markAsAdded();te.客户申请变更(t);te.保存更改什么类型的客户?还有,什么类型的数据库?如果是本地sql server(express)数据库,请检查是否已将其设置为“复制到输出:始终”。是否使用本地数据库文件?你确定它不会变好吗?