事务应该放在BLL层还是DAL层

简介:

呵呵,一个有趣的话题,事务(不是TSQL中的事务,只是指

System.Transactions下的TransactionScope类型)底道应该放在哪个层?

可以说,这个话题看你怎么看了:

如果同意在BLL层的,理由是:事务主要用来处理复杂逻辑,而复杂逻辑操作多表时需要用到事务,所以事务放在BLL层用来实现“逻辑组合”。而DAL层只负责最基础的数据操作,不管业务逻辑。

如果同意在DAL层的,理由是:一切与数据直接相关的操作,都应该约束在数据层。

对于我来说,具体问题还要具体去看,如果是固定不变,公用的流程我放在DAL,如果是比较特殊的处理,我会放在BLL中。

例如:我把用户添加放在的BLL层

image

本文转自博客园张占岭(仓储大叔)的博客,原文链接:事务应该放在BLL层还是DAL层,如需转载请自行联系原博主。

目录
相关文章
|
数据安全/隐私保护
经典权限系统设计(五张表)
经典权限系统设计(五张表)
|
Java Shell 程序员
解决:bash: syntax error near unexpected token `(‘ ...【亲测有效】
解决:bash: syntax error near unexpected token `(‘ ...【亲测有效】
10092 0
|
存储 前端开发 数据可视化
在实际项目中,如何选择使用 Flux 架构或传统的 MVC 架构
在实际项目中选择使用Flux架构或传统MVC架构时,需考虑项目复杂度、团队熟悉度和性能需求。Flux适合大型、高并发应用,MVC则适用于中小型、逻辑简单的项目。
|
开发框架 .NET 测试技术
.NET Core 日志记录程序和常用日志记录框架
本文主要内容为.NET Core的日志记录程序和常使用的日志记录框架的简单使用 首先,打开VS2019新建一个ASP.NET Core Web Api项目,项目创建好后会有一个集成好的天气预报的类和控制器,接下来,我们的方法就在天气控制器里完成。
260 0
|
开发框架 前端开发 .NET
CodeWF.EventBus:轻量级事件总线,让通信更流畅
CodeWF.EventBus,一款灵活的事件总线库,实现模块间解耦通信。支持多种.NET项目类型,如WPF、WinForms、ASP.NET Core等。采用简洁设计,轻松实现事件的发布与订阅。通过有序的消息处理,确保事件得到妥善处理。简化您的代码,提升系统可维护性。
|
存储 编译器
【.NET Core】特性(Attribute)详解
【.NET Core】特性(Attribute)详解
610 2
|
域名解析 网络协议 CDN
网站接入阿里云CDN实现域名加速全流程
阿小云网站已通过ICP备案在广州节点上线,但为提升全国用户访问速度,计划接入CDN。以下是4步CDN接入教程:1) 开通阿里云CDN服务;2) 添加加速域名;3) 使用DNS解析验证域名归属权;4) 配置CNAME实现域名与CDN节点关联。详细指南见阿里云CDN官方文档。
866 2
|
存储 缓存 Java
《优化接口设计的思路》系列:第四篇—接口的权限控制
大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。
312 0
《优化接口设计的思路》系列:第四篇—接口的权限控制
|
机器学习/深度学习 算法 Oracle
量子计算与量子密码(入门级-少图版)(4)
量子计算与量子密码(入门级-少图版)(4)
518 0
|
缓存 API 数据格式
阿里云国际站代理商:阿里云解决swagger提示Failed to load API definition Fetch errorundefined
@luotuoemo飞机@TG阿里云国际站代理商:将Swagger集成到项目中可以方便地生成和管理API文档,但有时候在使用Swagger时可能会遇到`Failed to load API definition Fetch errorundefined`这样的错误提示。这个错误通常是由以下几个原因引起的:

热门文章

最新文章