次のようなものをSystem.Data.OracleClient
使用してOracleデータベースにアクセスするレガシーアプリケーションを使用しています:OracleTransaction
Public Sub ExecuteOracleSql(ByVal sql As String)
Dim oCmd As New OracleCommand(sql, _dbConnection)
Try
oCmd.Transaction = _transaction 'OracleTransaction
oCmd.ExecuteNonQuery()
Finally
oCmd.Dispose()
End Try
End Sub
それ以来、すべての新しい開発は Entity Framework 経由で行われるという決定を下しましたが、レガシー コードで使用されているのと同じトランザクションに参加したいと考えています。
いくつかの調査の後、私はその方法を発見しましたが、これは上記のように a ではなくObjectContext.Connection.EnlistTransaction()
a を受け入れます。System.Transaction.Transaction
OracleTransaction
したがって、レガシ コードと EF の間でトランザクションを共有することは可能ですか?