У нас много устаревшего кода, который использует наш собственный объект данных.Мы медленно пытаемся ввести EF.Нам нужна возможность зачисления EF в транзакцию, которую мы уже начали использовать System.Data.SqlClient.SQLTransaction.EF, конечно, использует System.Transaction.Transaction.Это возможно?
Чтобы сделать вещи более понятными.У нас везде есть код, который делает следующее:
public sub DeleteEntity()
Dim InTransaction = ado.InTransaction
if not InTransaction then ado.BeginTran
...
<--want to use EF Here
...
if not InTransaction then ado.CommitTran
end sub
Процедура DeleteEntity не проста.В нем много логики.Я хочу использовать EF для просто чего-то нужного в середине кода, поэтому мне нужно включить его в активную транзакцию.Я не могу просто использовать область транзакции из-за того, как она разработана.DeleteEntity вызывается во многих местах, и я не хочу посещать каждое место, которое вызывает рутину.Это больше относится к System.Transaction.Transaction и SqlTransaction, чем к самому EF.
Обновление: я пробовал:
context.connection.EnlistTransaction(Transaction.Current)
Это не работает.