У меня есть поток данных с источником данных oledb. Затем у меня есть компонент сценария, который выполняет три вызова веб-службы, у него есть два выхода, которые (фактически) синхронны с входной строкой (одна выходная строка на входную строку), и один выход, который является асинхронным (выводит много строк для каждого входа). ряд). Каждый вывод идет в команду обновления sql. Также имеется вывод журнала ошибок (тоже асинхронный).
Я хочу каким-то образом обернуть выходные данные в транзакцию, чтобы для каждой входной строки, если она не была полностью обработана и обновлена, ни одно из обновлений для этой входной строки не увенчалось успехом.
Насколько я могу судить, это работает следующим образом: скрипты обрабатывают каждую входную строку и выводят все в буфер, прежде чем перейти к командам обновления. Вместо этого я хочу выполнять все обновления для каждой строки, фиксируя изменения, когда каждая входная строка была обработана и обновлена.
Как я могу структурировать свой поток данных для достижения этой цели?
Я думаю, возможно, выполнить источник, а затем запустить записи через контейнер foreach, но я не уверен, как связать несколько потоков данных вместе таким образом через контейнер ForEach.