Service 或是 Repository 使用 DB Connection 方式?
方式2,每个方法增加 Connection 参数,优点是能管控 Transation,在多个业务逻辑能出问题一次rollback。如下订单需要经过 Order 跟 OA 审批的 Service,能共用 connection。
方式1,个人没用,但外层方法function可以不需要管理 Connection
请问哪一种比较符合大业务量的需求
//方法一 : 每个 Service 方法自己建立 Connectionpublic class OAService
{
public bool SendApplication()
{
using(var cnn = DB.GetConnection())
{
//..
}
}
}
public class OrderService
{
public bool CreateNewOrder()
{
using(var cnn = DB.GetConnection())
{
//..
}
}
}
//方法一 : 每个 Service 方法使用外部传进来的Connection
public class OAService
{
public bool SendApplication(DbConnection cnn)
{
//..
}
}
public class OrderService
{
public bool CreateNewOrder(DbConnection cnn)
{
//..
}
}
回答:
既然选择分层,那就应该遵守分层规则,Service
重点在于组合 Repository
来处理业务,而 Connection
和 Transation
本身就是 Repository
层面的事,惯穿到 Service
那分层就没什么意义了;
试想一下,如果你的 Repository
并不是使用 DB
,你所困惑的Connection
和 Transation
还有意义吗?
所以问题本身应该是,你为什么要选择分层?
以上是 Service 或是 Repository 使用 DB Connection 方式? 的全部内容, 来源链接: utcz.com/p/945046.html