C# Store update、insert或delete语句影响了EF5中意外的行数(0)

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 !=

我尝试了很多这种错误的变体,但都失败了。这就是我问的原因。我得到了这个错误

Store update、insert或delete语句影响了意外的行数(0)。自加载实体后,实体可能已被修改或删除。刷新ObjectStateManager条目

这是我的密码

        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,那么我将得到一些其他错误。