C# Store update、insert或delete语句影响了EF5中意外的行数(0)
我尝试了很多这种错误的变体,但都失败了。这就是我问的原因。我得到了这个错误 Store update、insert或delete语句影响了意外的行数(0)。自加载实体后,实体可能已被修改或删除。刷新ObjectStateManager条目 这是我的密码C# Store update、insert或delete语句影响了EF5中意外的行数(0),c#,entity-framework,entity-framework-5,C#,Entity Framework,Entity Framework 5,我尝试了很多这种错误的变体,但都失败了。这就是我问的原因。我得到了这个错误 Store update、insert或delete语句影响了意外的行数(0)。自加载实体后,实体可能已被修改或删除。刷新ObjectStateManager条目 这是我的密码 var page = .....;// page Construction var oldPage = pageRepository.GetPageByID(id); if (oldPage !=
var page = .....;// page Construction
var oldPage = pageRepository.GetPageByID(id);
if (oldPage != null){
page.ModifiedDate = DateTime.Now;
context.Entry(page).State = EntityState.Modified;
}
else{
page.ModifiedDate = DateTime.Now;
page.CreatedDate = DateTime.Now;
context.Pages.Add(page);
}
pageRepository.Save();
代码中不清楚涉及哪些上下文,它们的生命周期是什么,以及对象
page
是什么类型(尤其是它是否包含更多要保存的对象)。在pageRepository.Save()
中发生了什么,使用哪个上下文?@GertArnold,上下文是带有页面属性的DbContext。Add正在工作。但更新时出错。在调用Save时,我得到了上述错误。我认为这是因为page.ID=0。如果我设置page.ID=oldPage.ID,那么我将得到一些其他错误。