私はWCFサービスに来て、その後Fluent NHibernateからdbを問い合わせるクライアントコールを持っています。WCFとNHibernateのトランザクションスコープ
現時点では、WCFはデフォルト(つまり、通話ごと)のままです。
そして、私のコードで私はこのような何か:DbContext
以来
using (_repository.DbContext.BeginTransaction()) {
try {
_repository.SavePerson(object);
_repository1.SaveAddress(object1);
} catch {
_repository.DbContext.RollbackTransaction();
throw;
}
}
が_repository
と_repository1
の両方で同じですが。 _repository1
でロールバックする必要がありますか?
また、リポジトリのSaveメソッド以降、セッションオブジェクト がオブジェクトの保存に使用されます。
私が知る必要があるのは、 です。このセッションは、両方のコールで同じですか、それとも2つの違いがありますか? 私はトランザクションスコープ内でそれらを1つの作業単位としてグループ化しているので、それらが同じであると仮定しています。
また、WCFの呼び出しとどのように連携するのですか、WCF側からのトランザクションも処理する必要がありますか?
これは私の答えです。http://stackoverflow.com/a/15451070/168048 – szkra