关于SubmitChanges订单(插入,更新,删除),有没有办法更改该订单?我需要首先执行Deletes,任何更新,然后执行任何新插入。我有一个datagrid,用户可以在其中进行所有添加,更改和更新以及提交。由于每个网格行必须在其中选择一个唯一项(通过下拉列表),因此用户可以删除该行,然后尝试在新行中使用已删除的下拉项,然后尝试更新所有更改并具有更新失败(因为用户想要删除的项实际上仍然存在于数据库中,因为提交首先执行插入)。是否有可以控制自动更新顺序的设置,还是我必须自己手动执行更新?
答案 0 :(得分:1)
我没试过,但你可以考虑以下几点。首先,使用DataContext.ChangeSet
获取ChangeSet
。然后,在ChangeSet.Deletes
的新实例上浏览Table<T>.DeleteOnSubmit
来电DataContext
。冲洗ChangeSet.Updates
和ChangeSet.Inserts
。
答案 1 :(得分:0)
我不相信这样做是可能的。您必须按所需顺序处理更改,并在每次插入,更新或删除后调用SubmitChanges()。如果您希望整个事务在事务范围内,请使用TransactionScope对象。