你知道如何在Castle ActiveRecord中实现事务吗?
-
09-06-2019 - |
题
我决定为客户制作一个系统 城堡活动记录, ,一切都很顺利,直到我发现交易不起作用,例如;
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();
}
但它不起作用,我抛出一个异常只是为了尝试事务回滚,但令我惊讶的是我看到第一个[保存]记录到数据库中。怎么了?
我是 Castle 和 NHibernate 的新手,首先我看到它非常有吸引力,我决定继续使用它和 MySQL(我从未使用过这个数据库),我尝试了 ActiveWriter,它看起来很有前途,但经过长时间的努力一周我看到这个问题,现在我觉得我被困住了,就像我浪费了时间。这应该很容易,但现在我感到很沮丧,因为我找不到足够的信息来进行这项锻炼,你能帮助我吗?
解决方案
本明白了。该文档有点令人困惑。参考最后一块 在页面上, 、“嵌套事务”。
其他提示
我终于修复了,碰巧我做错了,我覆盖了Member类的Save方法,并将sessionScope内部和内部都设置为事务范围,所以当a涉及到它保存在数据库中的事务范围中的所有内容时,所以当我抛出异常时,一切都已经保存了,我想就是这样。
总而言之,感谢您的帮助。
不隶属于 StackOverflow