.net набор данных, как получить удаленные дочерние строки - PullRequest
2 голосов
/ 27 декабря 2010

У меня есть строго типизированный набор данных (VB.NET), использующий .NET Framework 2.0. Учитывая DataRow в родительском DataTable и DataRelation, мне нужно найти все связанные строки в дочернем DataTable, которые имеют RowState = DataRowState.Deleted.

К сожалению для меня, DataRow.GetChildRows(DataRelation) не включает дочерние строки, которые имеют RowState из DataRowState.Deleted.

В настоящее время я выполняю сканирование таблицы дочерней таблицы, чтобы найти удаленные строки, которые соответствуют критериям отношения, но мои таблицы стали слишком большими, чтобы это работало. Как я могу получить удаленные дочерние строки с достойной производительностью?

Ответы [ 2 ]

2 голосов
/ 27 декабря 2010

Вы можете использовать DataSet.GetChanges и передать параметр DataRowState.Deleted.Он должен вернуть DataSet, который содержит все строки, помеченные как удаленные.

1 голос
/ 28 декабря 2010

решил это с помощью GetChildRows(relation, DataRowVersion.Original). Затем выполните итерацию по этим строкам и возьмите их с помощью RowState = DataRowState.Deleted.

...