Транзакции в типизированных наборах данных

Иметь типизированный набор данных с несколькими связанными таблицами и отношениями, определенными между этими таблицами. По мере обработки потока данных я добавляю, изменяю и удаляю записи, а затем вызываю update для каждой таблицы.

Requests        Reapprovals        UserRole
 RequestId ----- RequestId    ----- RoleId 
 Reason          RoleId  ----/      UserId 

Причина использования типизированного набора данных заключается в том, что мне нужно проверить существующие данные, чтобы определить, добавляю ли я, изменение или удаление записей ... поэтому мне нужен полный дамп всего, с чем я работаю (альтернативой может быть 10 000 запросов к базе данных, когда я обрабатываю записи одну за другой).

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

Помещение вызовов обновления в TransactionScope будет означать, что в случае сбоя какой-либо записи произойдет сбой всех. Не то, что я хочу.

Как мне зафиксировать или откатить связанные строки в типизированном наборе данных?

5
задан James King 20 December 2010 в 15:41
поделиться