0

Ado.Net を使用する既存のコードがあり、エンティティ フレームワーク 5 を使用するいくつかの新しいコードの統合を検討しています。概念実証として、ado.net と EF5 の両方でトランザクション操作を試してみました。

TransactionScope を使用してみましたが、「2 つの接続」を使用していたため、トランザクションが昇格され、DTC が使用できないというエラーが発生しました。

上記の問題を回避するために、Ado.Net と EF5 で同じ接続を使用することはできますか? もしそうなら、コード例....

他の提案をいただければ幸いです。

ところで、EF5 Database First を使用しています。

事前に助けてくれてありがとう。

よろしく、 トラヴィス

4

1 に答える 1

0

はい。ただし、分散トランザクションコーディネーター(DTC)が構成されている場合に限ります。DTCトランザクションは、ローカルトランザクションよりもはるかに低速です。

これは役立つかもしれません:

SQL ServerでMSDTCを有効にするにはどうすればよいですか?

もう1つのオプションは、EntityConnectionオブジェクトを取得してSqlConnectionを取得し、それをADO.NETコマンドで使用することですが、含まれているエンティティが破棄されると接続が閉じられる可能性があるため、注意が必要です。

または、作成時にEntityConnectionをコンテキストに渡して、両方に同じ接続を使用できるようにすることもできます。

于 2013-03-20T22:44:10.797 に答える