gpt4 book ai didi

activerecord - 你知道如何在 CaSTLe ActiveRecord 中实现事务吗?

转载 作者:行者123 更新时间:2023-12-04 23:35:04 32 4
gpt4 key购买 nike

我决定使用 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(我从未使用过这个数据库),我尝试了 ActiveWriter,它看起来很有前途,但经过长时间的努力一周我看到这个问题,现在我觉得我被卡住了,就像我浪费了时间。这应该很容易,但现在我感到很沮丧,因为我找不到足够的信息来进行这项锻炼,你能帮我吗?

最佳答案

您需要将代码包装在 session 范围内,如下所示:

using(new SessionScope())
{
a.Save();
b.Save();
c.Save();
}

阅读更多 here .

关于activerecord - 你知道如何在 CaSTLe ActiveRecord 中实现事务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38729/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com