Castle ActiveRecordを使用してクライアント用のシステムを作成することにしました。たとえば、トランザクションが機能しないことが判明するまで、すべてがうまくいきました。
TransactionScope t = new TransactionScope();
try
{
member.Save();
//This is just to see transaction working
throw new Exception("Exception");
foreach (qfh.Beneficiary b1 in l)
{
b1.Create();
}
}
catch (Exception ex)
{
t.VoteRollBack();
MessageBox.Show(ex.Message);
}
finally
{
t.Dispose();
}
トランザクションのロールバックを試みるためだけに例外をスローしましたが、驚いたことに、最初の [Save] レコードがデータベースに記録されていることがわかりました。何が起こっている?
Castle と NHibernate は初めてです。まず、非常に魅力的であることがわかり、MySQL (この DB を使用したことはありません) を使用することにしました。週にこの問題が発生し、行き詰まって時間を無駄にしたような気がします。簡単なはずなのに、このワークアウトを行うのに十分な情報が見つからないので、今はイライラしています。助けてもらえますか?