2017-07-01 2 views
0

私のアプリケーションは、dapperとasp..net core 2 preview 2.amでSQLサーバを使用し、単一データベースのリポジトリパターンを使用します。私は各エンティティのリポジトリパターンを書いています。ビジネスレイヤーでは、トランザクションスコープ内の別の接続オブジェクトの助けを借りて各リポジトリを注入します。このパターンは分散トランザクションですか?またはSQLサーバーはローカルトランザクションとして扱います。 .netコアは分散トランザクションをサポートしていないため?または、この代わりに.netフレームワークを使用できますか?いずれか1つを助けてください.netコア2プレビュー2トランザクションスコープ

答えて

2

これは分散トランザクションであり、.NET Coreでも許可されていますが、それは悪い習慣です。

代わりに、両方のリポジトリに単一のSqlConnectionを挿入し、SqlConnectionでトランザクションを管理します。

TransactionScopeまたはEFがない場合は、SqlConnectionで明示的に登録する必要があるため、SqlConnectionで明示的にTSQL BEGIN TRANSACTION/COMMITを使用する必要があります。

関連する問題