通常我正在使用此代码
Member member = ctx.Members.Find(id);
member.Name = txtName.Text;
ctx.Entry(member).State = EntityState.Modified;
ctx.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
当我想使用实体框架更新模型时.我在SO上找到了一个不用于EntityState.Modified更新模型的示例.我试图删除该行,它仍在工作.什么是利弊使用EntityState.Modified而不使用EntityState.Modified?
注意:我在WinForms中使用Entity Framework 6 Code First
Yoo*_*ooz 15
EntityState.Modified在您的情况下是无用的,因为当您从上下文中检索它时,您正在更新的实体已被上下文跟踪.
在以下场景中您不需要从上下文中检索实体,您将需要它:
Member member = new Member({Id=1, Name="member"}) ;
context.Entry(member).State = EntityState.Modified;
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
此外,如前面的答案所述,您的上下文有时只跟踪数据库的有限"视图",因此您需要像上面一样手动启动跟踪.