官方文档说修改一个实体我检索一个DbEntityEntry对象,并使用属性函数或设置其状态为修改。它使用以下示例实体框架 - 为什么显式设置实体状态为修改?
Department dpt = context.Departments.FirstOrDefault();
DbEntityEntry entry = context.Entry(dpt);
entry.State = EntityState.Modified;
我不明白第二和第三条语句的目的。如果我问了框架,像第一次声明中的实体中,然后修改POCO作为
dpt.Name = "Blah"
如果我再问问EF到的SaveChanges(),实体有被修改的状态(我通过快照跟踪进行猜测,这不是代理),并且无需手动设置状态即可保持更改。我在这里错过了什么吗?
感谢您的确认。我读过的很多教程似乎都使用这种混淆的方法。 – SeeNoWeevil