RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考
2023-09-27 14:20:30 时间
RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考
RDIFramwork.NET框架对数据库的事务做了很好的控制,对多表或多条语句需要在同一事务执行提供了很好的支持,同时支持任意主流类型的数据库,下面的代码可以给用户做为参考。用户可以任意扩展使用。
1、传入实体执行执行事务测试
private bool InEntityTransactionTest(string mainId,string detailId) { //可以支持任意流行数据库类型,指定相关的数据库提供者即可(OracleProvider、SqlProvider、SqLiteProvider、MySqlProvider、DB2Provider、OleDbProvider) IDbProvider dbProvider = new OracleProvider(SystemInfo.BusinessDbConnectionString); bool result = true; try { dbProvider.BeginTransaction(); //主表 CASE_PRODUCTIN_MAINManager manager = new CASE_PRODUCTIN_MAINManager(dbProvider, Utils.UserInfo); CASE_PRODUCTIN_MAINEntity mainEntity = manager.GetEntity(dbProvider.SqlSafe(mainId)); manager.Delete(mainEntity); //子表 CASE_PRODUCTIN_DETAILManager detailManager = new CASE_PRODUCTIN_DETAILManager(dbProvider, Utils.UserInfo); CASE_PRODUCTIN_DETAILEntity detailEntity = detailManager.GetEntity(dbProvider.SqlSafe(detailId)); detailManager.Delete(detailEntity); //事务提交 dbProvider.CommitTransaction(); } catch (Exception ex) { //事务回滚 dbProvider.RollbackTransaction(); result = false; } return result; }
2、传入Sql语句事务测试
private bool InSqlTransactionTest(string mainId, string detailId) { //可以支持任意流行数据库类型,指定相关的数据库提供者即可(OracleProvider、SqlProvider、SqLiteProvider、MySqlProvider、DB2Provider、OleDbProvider) IDbProvider dbProvider = new SqlProvider(SystemInfo.BusinessDbConnectionString); bool result = true; try { dbProvider.BeginTransaction(); //主表 string sqlMain = string.Format("DELETE FROM CASE_PRODUCTIN_MAIN WHERE ID = {0}", mainId); dbProvider.ExecuteNonQuery(sqlMain); //子表 string sqlDetail = string.Format("DELETE FROM CASE_PRODUCTIN_DETAIL WHERE ID = {0}", detailId); dbProvider.ExecuteNonQuery(sqlMain); //事务提交 dbProvider.CommitTransaction(); } catch (Exception ex) { //事务回滚 dbProvider.RollbackTransaction(); result = false; } return result; }
相关文章
- net 6 net 6 发布 windows,centos7.6发布发布
- asp.net 跨域
- 学习ASP.NET Core Blazor编程系列十六——排序
- Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之八(五十七)
- 学习ASP.NET Core Razor 编程系列六——数据库初始化
- Authentication configuration in asp.net
- 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问
- C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
- C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用
- 适用于app.config与web.config的ConfigUtil读写工具类 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类) 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD) C# 实现AOP 的几种常见方式
- ASP.NET MVC:创建 ModelBinder 自动 Trim 所有字符串
- Mac OS 环境下 安装 Asp.Net及使用Yeoman 创建Asp.Net 项目
- Word处理控件Aspose.Words功能演示:在 ASP.NET 中使用 C# 比较两个 Word 文档
- Word格式处理控件Aspose.Words for .NET水印处理教程——如何添加和删除水印
- 【23种设计模式】抽象工厂模式(Abstract Factory Pattern) .Net Core实现
- asp.net数据库生成LigerUi树Tree结构Json格式数据(有点绕,附基本源代码)
- C#数据库教程2-ADO.NET常用SQL语句
- .Net魔法堂:开启IIS的WebGarden、WebFarm和StateServer之旅
- MSTest、NUnit、xUnit.net 属性和断言对照表
- c# 连接mysql配置config,不用装net connector
- ASP.NET Aries JSAPI 文档说明:AR.Form、AR.Combobox
- ADO.net之2-成功连接到数据库---ShinePans