简体   繁体   English

无法使用实体框架6更新实体

[英]cannot update entities using Entity Framework 6

I am trying to update an entity using following code. 我正在尝试使用以下代码更新实体。

 MemberFee originalMemberFee = db.MemberFees.FirstOrDefault(ann => ann.MemberId == memberFeeViewModel.MemberId && ann.Year == memberFeeViewModel.Year);

  if (originalMemberFee == null)
  {
        db.MemberFees.Add(memberFeeViewModel);
  }
  else
  {
       db.MemberFees.Attach(memberFeeViewModel);
       db.Entry(memberFeeViewModel).State = System.Data.Entity.EntityState.Modified;
  }
  db.SaveChanges();

It creates the entity (inside the if-sats) successfuly however it genereates this error when it tries to update an entity Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries. 它成功创建了实体(在if-sats内部),但是在尝试更新实体Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.时,它产生了此错误,该Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries. Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.

It's possible that the memberFeeViewModel key(s) is not properly set. memberFeeViewModel密钥可能设置不正确。

Check your MemberId and Year value of memberFeeViewModel object. 检查您的MemberIdmemberFeeViewModel对象的Year值。 If those are empty then you need to provide the keys before updating. 如果这些为空,则需要在更新之前提供密钥。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM