Выполняю импорт данных, завернутых в CMSTransactionScope
.Kentico транзакции и откат данных
Каким будет наиболее эффективный и практичный способ импорта данных в параллель и откат при любых ошибках? Проблема, которую я вижу, заключается в том, что, будучи параллельной, я не знаю, могу ли я иметь вставленные объекты в транзакции, если они не связаны с новым потоком.
Есть ли способ сделать это или нужно его обрабатывать по-разному?
Я могу определенно понять и согласиться с вами на первом подходе к вставка данных. Как насчет обновления данных? Например, имея транзакцию, а затем циклически параллельно обновляя строки один за другим? Мне интересно, возможно ли это? Или будет ли запрос kentico sql update зависеть, потому что каждый поток имеет новую область подключения? Может быть, я слишком задумываюсь об этом. – user1740075
Если вы это сделаете, например. 'Parallel.ForEach()' внутри 'CMSTransactionScope', я считаю, что он должен работать без каких-либо взаимоблокировок. Область транзакции использует свою собственную область подключения, которая, я надеюсь, будет использоваться повторно даже при использовании нескольких потоков. Однако, я думаю, что прирост производительности будет минимальным, если таковой будет. Лучший способ узнать это - попробовать попробовать :) – rocky