使用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/