アプリケーションが 1 つのトランザクション中に一度に 1 つの接続のみを使用するように、EF の基になるデータベース接続とトランザクションを制御する方法を見つけたいと考えています (Oracle と SQL Server の両方をサポートする必要があります)。
多くの推奨事項が付属しているこの良い記事を見つけましたが、(私が読んだ他のすべての記事と同様に) TransactionScope
. TransactionScope
うーん、できればは避けたいのですが...
純粋なDbConnection
&DbTransaction
またはこれは単に不可能または間違っているだけで遊ぶための解決策はありますか?
さらに、この記事を見つけました ここ、セクションで述べています:
「独自のトランザクションを指定する」
接続でデフォルトの動作をオーバーライドできるのと同様に、トランザクション機能を制御することもできます。独自のトランザクションを明示的に作成すると、SaveChanges は DbTransaction を作成しません。ただし、System.Common.DbTransaction は作成しません。代わりに、独自のトランザクションを作成するときは、System.Transaction.TransactionScope オブジェクトを使用する必要があります。
しかし、説明がありません...
Entity Framework 5.0 を使用しています。私のアプリケーションに適したものを選択するために、理解を助けていただけますか? いくつかの良い使用パターンを示すことが理想的です。
前もって感謝します!
注:トランザクションが DTC for Oracle Data Provider にエスカレートするため、これを計画しています。