事务添加数据放在那一层比较好?
是BLL层 好 还是 DAL层好?
------解决方案--------------------一个DAL操作,必定有以下的抽象:
1. 方便地查询。例如 一个可以支持 IQueryable 查询的机制。
2. 方便地更新。例如 Save<T>(T obj)。它包括新增或者修改,如果这个obj是从事务中查询的,那么就是更改。
3. 方便地删除。例如 Remove<T>(T obj)。
4. 事务的提交和回滚。
你在BLL中调用所谓的DAL的什么“增删改查”操作么?既然你连查询一下数据库、修改一下数据库都在BLL层调用,那么凭什么对于事务提交和回滚这么重要的操作就不调用?
------解决方案--------------------所以综合起来,你应该给一个开关,来让Bil决定是否启用事务
bil有决定权,但是具体细节他没必要知道,他只需要知道我有决定是否启用事务的权利就ok了
------解决方案--------------------一般地加个重载不就可以解决了么
执行SQL的方法还不是业务逻辑层来的需求嘛,单纯的处理数据的方法放在DAL,这样BLL中的方法看起来也会明朗很多
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------每个框架的实现都不一样,这也没有条条框框,只要对开发有利就好