Если я сделаю следующее :
Using scope = New TransactionScope()
entries.Content.ReadAs(Of IList(Of WebMaint)).AsParallel.ForAll(Sub(entry)
_repos.Update(entry)
End Sub)
scope.Complete()
End Using
TransactionScope не работает. Если я t точка останова на scope.complete нет активных транзакций и обновления уже завершены.
Если я поменяю его на:
Using scope = New TransactionScope()
entries.Content.ReadAs(Of IList(Of WebMaint)).ToList().ForEach(Sub(entry)
_repos.Update(entry)
End Sub)
scope.Complete()
End Using
Все работает, как ожидалось. Кто-нибудь знает, почему параллельная версия работает некорректно?