4
私はC#を使用してコードを作成していましたが、複数のリポジトリに複数の呼び出しを行うトランザクションを作成することもあります。すべてのリポジトリをカバーします。node.js:複数のリポジトリへの呼び出しを扱うトランザクションの作成
コードは次のようである:
using (var scope = new TransactionScope())
{
itemRepository.deleteItems(items);
bookRepository.deleteBooks(books);
scope.Complete();
}
これは、エラーがbookRepositoryに発生した場合、削除されたアイテムは、ロールバックになることを確実にします。
今、私はnode.jsを使って同じことをしようとしています。 私はトランザクションを作成するためのオプションを持っているmssqlパッケージを見つけましたが、唯一のリポジトリ内の、このような:
var transaction = new sql.Transaction(/* [connection] */);
transaction.begin(function(err) {
// ... error checks
var request = new sql.Request(transaction);
request.query('insert into mytable (mycolumn) values (12345)', function(err, recordset) {
// ... error checks
transaction.commit(function(err, recordset) {
// ... error checks
console.log("Transaction committed.");
});
});
});
だから、私のように複数のリポジトリをカバーしてサービス上でトランザクションを作成するためのいくつかの方法があります記載されている?
私は同様の答えをmysql + node –