Иметь типизированный набор данных с несколькими связанными таблицами и отношениями, определенными между этими таблицами. По мере обработки потока данных я добавляю, изменяю и удаляю записи, а затем вызываю update для каждой таблицы.
Requests Reapprovals UserRole
RequestId ----- RequestId ----- RoleId
Reason RoleId ----/ UserId
Причина использования типизированного набора данных заключается в том, что мне нужно проверить существующие данные, чтобы определить, добавляю ли я, изменение или удаление записей ... поэтому мне нужен полный дамп всего, с чем я работаю (альтернативой может быть 10 000 запросов к базе данных, когда я обрабатываю записи одну за другой).
Мне нужна поддержка транзакций, но Я не вижу способа сделать это с типизированными наборами данных. Например, я создаю новый запрос при создании нового повторного утверждения. Но если повторное утверждение не удается обновить, я не хочу оставлять запрос.
Помещение вызовов обновления в TransactionScope
будет означать, что в случае сбоя какой-либо записи произойдет сбой всех. Не то, что я хочу.
Как мне зафиксировать или откатить связанные строки в типизированном наборе данных?