2012-07-27 2 views
2

Я имею в виду это так, вопрос: Bulk inserts taking longer than expected using DapperРеализация облегченного TransactionScope

и к этому @SamSaffron комментарий к этому вопросу:

«TransactionScope делает кучу DTC ерунду вы вообще не волнует о, избежал бы этого, если бы мне не понадобилась эта функция, довольно легко свернуть собственный контекст, прикрепленный к локальному хранилищу потоков ».

Я знаю, как свернуть свой собственный TransactionManager, используя транзакцию, присоединенную к [ThreadStatic], но есть ли какой-то надежный способ для эмулироватьTransactionScope, чтобы команды автоматически заработали мою транзакцию? Конечным продуктом будет область транзакций с любой сантехникой MSDTC.

ответ

1

Да, см. Мой проект TextMetal, образец кода, и обратите внимание на пространство имен сантехники. Если у вас есть вопросы, напишите мне. Отсутствие MSDTC в руке, просто ADO.NET, единичный шаблон работы и некоторый хорошо спроектированный код доступа к данным!

+0

+1 это приятная и интересная реализация, но (возможно, я ошибаюсь). Я могу иметь более одной транзакции в одной единице работы. Если я правильно получу свой код, у вас есть отношение за один к другому и транзакция. hanks, в любом случае, заинтересован в взломе класса транзакции класса –

+0

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

Смежные вопросы