实体更新失败

时间:2012-07-21 19:37:41

标签: entity-framework

存储更新,插入或删除语句会影响意外的行数(0)。自实体加载后,实体可能已被修改或删除。刷新ObjectStateManager条目。

我刚刚开始学习实体,并且已经在Winforms和现在使用Webforms进行了一些游戏。它工作正常几天,现在当我尝试更新DataView中的字段时,我收到错误。 DV中的'AutoGenerateEditButton =“True”。 DV连接到EntityDataSource。一位朋友访问了webform并从diff位置编辑了一个,这是编辑/更新的最后一次工作。

如果有帮助,这是更新事件:

Sub dgv_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles dgv.RowUpdating
Try
  Dim row As GridViewRow = dgv.Rows(dgv.EditIndex)
  Dim list As DropDownList = CType(row.FindControl("ddlDoseType"), DropDownList)
  e.NewValues("DoseType") = list.SelectedValue
Catch ex As Exception
  MsgBox(ex.ToString)
End Try
End Sub

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您执行以下操作,则可以重现此错误

  • 客户端A读取ID = 1
  • 的行
  • 客户B删除ID = 1
  • 的行
  • 客户端A更改行的内容
  • Clinet A尝试保存更改

由于ID = 1的行不存在,您会收到问题中的错误。

看起来您发布的代码不会导致错误,因为这是更新数据网格,而不是将数据保存到数据库。