我有一个强类型数据集(VB.NET),使用.NET Framework 2.0。如果父DataRow
和DataTable
中有DataRelation
,我需要找到子DataTable
中RowState
= {{1}的所有相关行}}
对我来说不幸的是,DataRowState.Deleted
不包含DataRow.GetChildRows(DataRelation)
RowState
的子行。
目前我正在对子表进行表扫描,以查找与关系条件匹配的已删除行,但是我的表已经变得太大而无法工作。如何才能获得具有良好性能的已删除子行?
答案 0 :(得分:2)
您可以使用DataSet.GetChanges并传递DataRowState.Deleted参数。它应该返回一个DataSet,其中包含标记为已删除的所有行。
答案 1 :(得分:1)
使用GetChildRows(relation, DataRowVersion.Original)
解决了这个问题。然后,遍历这些行并使用RowState = DataRowState.Deleted
抓取那些。