我目前正面临着一个旧项目的奇怪问题。该项目使用FormView编辑数据。 FormView绑定到LinqDataSource。在更新编辑对象后,我确实收到了一个LinqDataSource抛出一个ChangeConflictException,原因不明
System.Data.Linq.ChangeConflictException - Row not found or change
异常。 我已经搜索了一段时间了,到目前为止我读过的帖子告诉我,这是一个并发问题。我同意,如果在此期间确实会有其他人更新数据,但没有人会这样做。
这是使用LinqDataSource的样子:
<asp:LinqDataSource ID="ldsFirma" runat="server" ContextTypeName="mynamespace.myDataContext"
EnableUpdate="True" TableName="Firmendatens" Where="Kennummer == @Kennummer"
OnSelecting="ldsFirma_Selecting" StoreOriginalValuesInViewState="False" OnUpdating="ldsFirma_Updating">
<WhereParameters>
<asp:Parameter Name="Kennummer" Type="Int32" />
</WhereParameters>
</asp:LinqDataSource>
这是FormView控件的开始标记:
<asp:FormView ID="fvFirma" runat="server" DataKeyNames="Kennummer" DataSourceID="ldsFirma" ...
的更新是由ImageButton的提出:
能有什么我确实要解决这些问题。看来不是每一行都受到这个影响。几个小时前,我用另一个web应用程序连续更改了一个值。从那以后,我重建并清理了我目前几次遇到问题的Web应用程序,但这并没有改变。
其实我正在寻找一个“DisableConcurrency”属性,我可以设置为false,但不幸的是,LDS不提供这样的事情。
有什么建议吗?