c # DataSet с 2 таблицами, как удалить строку из одной он будет удалять строку из другой? - PullRequest
0 голосов
/ 01 сентября 2010

Я использую Visual Studio 2010

У меня есть DataSet с 2 таблицами

одна (MainList) имеет тип, имя, путь, параметр, другая (UpadteList) имеет путь, хэш, дату

Я добавил файлы в этот список, и он работает без проблем, теперь у меня есть следующее

, когда я добавляю тип файла "update", это будет "Update", "My Program",«PATH-TO- / my.setup.exe», «/ minimized»

, если это был тип «Обновление», следующие данные отправляются (UpdateList) в «PATH-TO- / my.setup.exe», "asdfwefwfgg3r34t34t34t", "2010-09-01"

Я хочу, чтобы когда строка в (MainList) удалялась и строка с таким же путем в (UpdateList) существовала, она тоже удалялась

должен ли я использовать цикл или (я видел) в свойствах dataSet использовать отношения

какой подход лучше всего?

с циклами Я получил несколько уродливых ошибок, которые удаляют все в Mainlist!

примечание: я использую XML для хранения данных (данные не большие)

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

IMO, у вас есть два варианта

  1. Использовать ограничения DataTable, такие как ForeignKeyConstraint с DeleteRule = настройки каскада.
  2. Использовать RowDeleted / RowDeleting событие в таблице данных MainList для поиска и удаления соответствующей строки в другой таблице.
0 голосов
/ 01 сентября 2010

Я думаю, что код, возможно, является неподходящим местом для обеспечения согласованности данных.Я бы сделал это в базе данных, либо в хранимой процедуре, либо, если вы используете SQL Server, возможно, с каскадным удалением .

...