CSFramework对象模型框架(DbDataUpdate),支持MsSQL,MySQL,Oracle三种数据库操作
CSFramework对象模型框架(DbDataUpdate),支持MsSQL,MySQL,Oracle三种数据库操作
DbDataUpdate简介 DbDataUpdate是CSFramework.DB基于ADO.NET多数据库底层组件包的一个通用工具类,能根据表结构映射的ORM实体对象模型自动提交数据,针对数据进行Add、Delete、Update操作,您不需要编写任何SQL脚本。支持MsSQL,MySQL,Oracle三种数据库。 DbDataUpdate组成 1. DbDataUpdate:CSFramework通用对象模型数据更新框架。 2. DbCommandGenerator: DbCommand命令生成器。 根据.NET对象模型(Type)类型自动生成三种DbCommand命令对象,支持MsSQL,MySQL,Oracle三种常用数据库。 3. DbDataUpdate依赖CSFramework.DB的IDatabase接口。 DbDataUpdate架构 DbDataUpdate优势 1. 开发人员完全脱离ADO.NET底层组件的使用、接口使用。 2. 开发人员不需要编写任何Insert/Update/Delete SQL脚本,轻松实现对数据的增、删、改。 3. 开发人员根据表结构搭建对象实体模型(ORM-对象关系映射),然后调用相关接口即可。 4. 每个方法有详情注释。 5. 全部开源。 DbDataUpdate提供三种类型的接口 提供下图中三种接口方法,支持操作对象实体、DataTable以及DataSet,以及支持事务。 源码位置: DbDataUpdate测试案例: 测试案例:提交DataTable,批量修改提交多条记录 C# Code: // //测试案例:提交DataTable,批量修改提交多条记录 // string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;"; IDatabase db = DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn); var dt = db.GetTable("SELECT TOP 10 * FROM dbo.sys_RegisterLog"); dt.Rows[0]["HID"] = "修改HID";//修改一条记录 dt.Rows[1].Delete();//删除一条记录 var row = dt.Rows.Add();//新增一条记录 row["LicenseID"] = "xxxx"; row["RegisterNo"] = "xxxx"; row["RegisterTime"] = DateTime.Now; row["LogConent"] = "xxxx"; row["HID"] = "xxxx"; //根据Model提交数据 int i = new DbDataUpdate(db).Update(dt, typeof(sys_RegisterLog), new string[] { "isid" }, new string[] { "isid" }); ShowResult($"共更新记录数:{i}"); //来源:C/S框架网 | www.csframework.com | QQ:23404761 测试案例:修改对象列表,根据对象ORM自动存储到数据库 C# Code: // //测试案例:修改对象列表,根据对象ORM自动存储到数据库 // string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;"; IDatabase db = DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn); sys_AdminUser user = new sys_AdminUser { Account = "000011", AccountName = "test11", AccountType = "xx111111111111111111", Password = "pwd11111111" }; sys_AdminUser user2 = new sys_AdminUser { Account = "000022", AccountName = "test22222222222", AccountType = "xx222222222222222222", Password = "pwd222222222" }; List<sys_AdminUser> list = new List<sys_AdminUser>(); list.Add(user); list.Add(user2); //修改对象列表 int i = new DbDataUpdate(db).UpdateList<sys_AdminUser>(list, new string[] { "Account" }, new string[] { "isid" }); ShowResult($"批量更新记录{i}"); //来源:C/S框架网 | www.csframework.com | QQ:23404761 测试案例:新增对象列表,根据对象ORM自动存储到数据库 C# Code: // //测试案例:新增对象列表,根据对象ORM自动存储到数据库 // string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;"; IDatabase db = DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn); sys_AdminUser user = new sys_AdminUser { Account = "Test-" + DateTime.Now.ToString("yyMMddHHmmssfff"), AccountName = "test", AccountType = "xx", Password = "pwd" }; Thread.Sleep(50); sys_AdminUser user2 = new sys_AdminUser { Account = "Test-" + DateTime.Now.ToString("yyMMddHHmmssfff"), AccountName = "test2", AccountType = "xx", Password = "pwd" }; List<sys_AdminUser> list = new List<sys_AdminUser>(); list.Add(user); list.Add(user2); //提交数据 int i = 0; DbTransaction tran = db.TransBegin(); DbDataUpdate updater = new DbDataUpdate(db, tran); try { i = updater.AddList<sys_AdminUser>(list, new string[] { "isid" }); tran.Commit(); } catch (Exception ex) { tran.Rollback(); ShowResult(ex.Message); } ShowResult($"共更新记录数:{i}"); //来源:C/S框架网 | www.csframework.com | QQ:23404761 测试案例:删除对象列表,根据对象ORM自动删除记录 C# Code: // //测试案例:删除对象列表,根据对象ORM自动删除记录 // string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;"; IDatabase db = DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn); var isid = db.GetStringList("SELECT TOP 2 ISID FROM sys_RegisterLog"); sys_RegisterLog R1 = new sys_RegisterLog { isid = int.Parse(isid[0]), }; sys_RegisterLog R2 = new sys_RegisterLog { isid = int.Parse(isid[1]), }; List<sys_RegisterLog> list = new List<sys_RegisterLog>(); list.Add(R1); list.Add(R2); //删除一个对象列表 int i = new DbDataUpdate(db).DeleteList<sys_RegisterLog>(list, new string[] { "isid" }); ShowResult($"批量删除记录{i}"); //来源:C/S框架网 | www.csframework.com | QQ:23404761 CSFramework.DB数据库底层应用框架 v2.0 适用软件:基于C#.NET开发的C/S系统、WebApi后端、Winform桌面应用软件。 运行平台:Windows + .NET Framework 4.5 开发工具:Visual Studio 2015,C#语言 数据库支持:MsSQL+Oracle+MySQL 详情:http://www.csframework.com/cs-framework-database.htm CSFramework.DB简介 我们在开发软件过程中,特别是基于数据管理应用相关的系统,一般采用一种数据库,如Microsoft SQL Server,超大型系统有的使用Oracle,部分Web系统采用开源的MySQL等,由于各种业务场景以及用户需求,促使我们的数据库系统部署在不同类型的数据库服务器上。若开发的系统能支持多种数据库的快速切换,可以为我们减少很多烦恼,同时提高系统的适应性、兼容性以及可扩展性。 扫一扫加微信
参考文档:
CS开发框架核心模型 - 支持多帐套功能 开发框架支持的两种ORM模型(静态类/实体类) C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册|C/S框架网 CSFramework.WebApi框架快速搭建后端服务支持APP、B/S、C/S、微信小程序、公众号、Web客户端 CSFramework通用自动提交数据工具类(DbDataUpdate),支持MsSQL,MySQL,Oracle三种数据库 CSFramework代码生成器生成三种ORM模型类(静态类ORM,实体类ORM,标准对象) CSFramework.DB多数据底层类库 - 操作对象数据DbDataUpdate接口测试 CSFramework开发框架支持表格编辑窗体,批量修改表格的数据 DbDataUpdate - 自动提交对象模型数据 - 常用数据类型测试 CSFramework代码生成器根据数据库表结构生成实体对象模型(C#代码) CSFramework.DbDataUpdate数据模型框架 - 特殊数据类型测试报告 CSFramework.DB多数据库支持组件DbDataUpdate.UpdateObject详解 Winform界面自适应快速开发框架(C#+Dev+三层架构+多数据库支持) 物流运输管理系统TMS成功案例-CSFramework快速开发框架(Winform+C/S+SQLServer) DbFramework数据库实体类对象模型框架( 支持MsSQL,MySQL,Oracle三种数据库)
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |