AdapterManager.Update RowNotInTableException

时间:2013-09-20 07:37:46

标签: exception azure row strongly-typed-dataset

我正在使用一个函数,使用类型化数据集和adaptermanager.UpdateAll从我的数据库的9个表中删除所有数据。 更新因{1}}而失败,因为有一个表 抛出DBConcurrencyException。 我正在做的就是填写所有表格,然后删除行。没有其他进程在数据库上工作。这行如何分离? 有没有办法获得产生问题的行的主键?

我的代码(缩短):

RowNotInTableException

- 编辑 -

我测试了adapterManager之外的删除操作。所以我分别调用了每个--- 6 other fills before FillDataTable("parameters"); List<AzureDataSet.parametersRow> parRows = (from p in azureDataSet.parameters where p.ID != "undefined" select p).ToList(); foreach (AzureDataSet.parametersRow item in parRows) item.Delete(); FillDataTable("definitions"); List<AzureDataSet.definitionsRow> defRows = (from sd in azureDataSet.definitions where sd.hashPK != "undefined" select sd).ToList(); foreach (AzureDataSet.definitionsRow item in defRows) item.Delete(); --- definitions table produces the error, there is only one more table to fill left AzureDataSetTableAdapters.TableAdapterManager adapterManager = new AzureDataSetTableAdapters.TableAdapterManager(); adapterManager.parametersTableAdapter = new AzureDataSetTableAdapters.parametersTableAdapter(); adapterManager.definitionsTableAdapter = new AzureDataSetTableAdapters.definitionsTableAdapter(); adapterManager.BackupDataSetBeforeUpdate = true; retryPolicy.ExecuteAction(() => { adapterManager.UpdateAll(azureDataSet); }); 方法。 同一个表抛出错误:

StackTrace:

TableAdapter.Update

- 编辑2:已解决 -

我可以解决我的问题,但我不知道是什么导致了这个问题。我所做的就是打开我的DataSet.xsd,打开表的delete命令并再次保存DataSet。我一无所获!

1 个答案:

答案 0 :(得分:0)

我可以解决我的问题,但我不知道为什么会抛出错误。  我所做的只是:
 打开DataSet.xsd
 打开表删除命令
 再次保存DataSet。

我没有改变任何其他事情!