如果我在 Spring.Net 中使用基于属性的事务,看起来像
[Transaction()]
public void MyBusinessMethod()
{
// doing some in memory calculation, may take some time
Prepare();
// actual db access code
DbAccess();
}
在方法中,Prepare()
会在不涉及数据库层的情况下做一些准备工作。为了获得最佳性能,db 连接应该在之前打开DbAccess()
。但是,由于我使用 AOP 进行事务,并且它适用于方法级别,这是否意味着在调用方法时将打开连接MyBusinessMehtod
?如果是的话,有什么办法可以改善吗?我能想到的一种方法是将DbAccess
其分解为自己的方法。除此之外,还有什么好的推荐吗?