1、调用DataSet.GetChanges()获取数据源中改变的数据
var data = ViewData.GetChanges() as ReleaseData;
2、为新增的数据 data 加上唯一标识
var counter=0;
foreach (var dtlRow in data.Rows)
{
dtlRow.BeginEdit();
dtlRow.REL_LINE_SEQ = counter++;
dtlRow.EndEdit();
}
因为在数据源DataSet.GetChanges()之后又对数据源进行了修改,在保存Save(data )时爆出了,开放式并发冲突的错误。
调换了1和2的先后顺序,在数据源DataSet.GetChanges()之前,为新增加上唯一标识。在调用Save(data )保存数据,就不在报错了。
这是我遇到的唯一一次开放式并发冲突,希望对大家有所帮助。