呵呵,一个有趣的话题,事务(不是TSQL中的事务,只是指
System.Transactions下的TransactionScope类型)底道应该放在哪个层?
可以说,这个话题看你怎么看了:
如果同意在BLL层的,理由是:事务主要用来处理复杂逻辑,而复杂逻辑操作多表时需要用到事务,所以事务放在BLL层用来实现“逻辑组合”。而DAL层只负责最基础的数据操作,不管业务逻辑。
如果同意在DAL层的,理由是:一切与数据直接相关的操作,都应该约束在数据层。
对于我来说,具体问题还要具体去看,如果是固定不变,公用的流程我放在DAL,如果是比较特殊的处理,我会放在BLL中。
例如:我把用户添加放在的BLL层