Я искал способы создания транзакции в Entity Framework и знаю, что мы можем создать распределенную транзакцию с TransactionScope в EF5, как указано здесь. Использование транзакций или SaveChanges(false) и AcceptAllChanges()? Я хочу знать, можем ли мы создать распределенную транзакцию с помощью Database.BeginTransaction? заранее спасибо.
Можем ли мы определить распределенную транзакцию с помощью Database.BeginTransaction?
Ответы (1)
Database.BeginTransaction всегда будет запускать локальную транзакцию в базе данных, а не распределенную транзакцию.
Создание нового TransactionScope начнется с транзакции локальной базы данных, но при необходимости она автоматически обновится до распределенной транзакции. То есть: если вы работаете с базой данных SQL Server. При использовании других баз данных создание TransactionScope приведет к созданию распределенной транзакции. Это потому, что только SQL Server поддерживает продвижение транзакций...
person
Marc Selis
schedule
22.09.2015
DbTransaction
(который запускается Database.BeginTransaction) никогда не может перейти в DTC. - person Gert Arnold   schedule 22.02.2015