使用SaveChanges()更新数据库失败
item.ModelType = TestCase.ModelType; item.TestType = TestCase.TestType; item.TestCaseType = TestCase.TestCaseType; item.TestCaseName = TestCase.TestCaseName; item.TestDescribe = TestCase.TestDescribe; item.TestSpec = TestCase.TestSpec; item.TestEnvironment = TestCase.TestEnvironment; item.Comment = TestCase.Comment; item.State = TestCase.State; item.TestStandard = TestCase.TestStandard; context.SaveChanges();
item = TestCase;
context.SaveChanges();
在第一段代码中,逐个将 item 对象的属性设置为 TestCase 对象的对应属性,然后调用 context.SaveChanges() 来保存更改。这种方法确保了每个属性都被正确地设置,并且每个更改都会被保存到数据库中。
而在第二段代码中,直接将 item 对象设置为 TestCase 对象,然后调用 context.SaveChanges()。这种方法虽然看起来更简洁,但它实际上并没有真正地修改 item 对象的属性,而是将 item 对象的引用指向了与 TestCase 相同的对象。这样的话,尽管 item 的引用已经指向了一个新的对象,但它并没有触发 Entity Framework 来跟踪并保存这些更改到数据库中。
因此,正确的做法是使用第一种方式,逐个设置 item 对象的属性,并确保在修改后调用 context.SaveChanges() 来保存更改。
转载请注明出处:https://www.cnblogs.com/lei-zi/

浙公网安备 33010602011771号