使用EntityDataSource,执行删除操作后再刷新页面报异常!

将星陨落天命难违 2012-04-26 04:52:02
EntityDataSource作为第三方gridview的数据源。当我执行完删除一条数据后再刷新一次页面就报异常。


存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。刷新 ObjectStateManager 项。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OptimisticConcurrencyException: 存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。刷新 ObjectStateManager 项。

源错误:

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[OptimisticConcurrencyException: 存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。刷新 ObjectStateManager 项。]
System.Data.Mapping.Update.Internal.UpdateTranslator.ValidateRowsAffected(Int64 rowsAffected, UpdateCommand source) +8157546
System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter) +394
System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache) +163
System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options) +609
System.Web.UI.WebControls.EntityDataSourceView.ExecuteDelete(IDictionary keys, IDictionary oldValues) +599
System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +92
Telerik.Web.UI.GridTableView.PerformDelete(GridEditableItem editedItem, Boolean suppressRebind) +271
Telerik.Web.UI.GridCommandEventArgs.ExecuteCommand(Object source) +4859
Telerik.Web.UI.RadGrid.OnBubbleEvent(Object source, EventArgs e) +200
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e) +142
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +125
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +169
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +9
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +176
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.272



<asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=ModelContainer"
DefaultContainerName="ModelContainer" EnableFlattening="False" EntitySetName="Device"
Where="it.[DeviceType] ='非车载充电机'" AutoGenerateOrderByClause="True" OrderBy=""
EnableDelete="True">
<orderbyparameters>
<asp:Parameter DefaultValue="Name" Name="newparameter" />
</orderbyparameters>
</asp:EntityDataSource>
...全文
594 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
默默狮 2013-09-24
  • 打赏
  • 举报
回复
引用 4 楼 lc163 的回复:
问题解决,重新绑定一下数据源即可。都没人来回答,分全给1L了
怎么重新获得数据源?
  • 打赏
  • 举报
回复
这个问题在后台加一句代码就不报错了。现在的问题是,当我删除一条数据成功后再刷新,就会提示
“若要再次显示该网页,Web浏览器需要重新发送您以前提交的信息。如果您正在交易,应单击‘取消’避免重复交易。否则,请单击‘重试’再次显示该网页。”
如果我点“重试”,则刚删除的那条记录又会出现;点“取消”不会再出现,但是又再提示一次自己写的“删除成功”提示。
  • 打赏
  • 举报
回复
自己顶一下!
anzhiqiang_touzi 2012-04-27
  • 打赏
  • 举报
回复
ef用的不是很熟练

友情支持下

  • 打赏
  • 举报
回复
问题解决,重新绑定一下数据源即可。都没人来回答,分全给1L了

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧