支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网
支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网
有些特殊情况下,我们只需要修改和提交明细表的数据,C/S框架预设提交主从表的(只修改明细表的情况下,主表的一条记录同时提交),基于性能优化与提升用户体验,针对UpdateDetailKey方法进行优化。 C# Code: /// <summary> /// 更新明细表的外键 /// </summary> /// <param name="detail">明细表</param> /// <param name="foreignFieldName">外键字段名</param> /// <param name="foreignKeyValue">外键值</param> protected void UpdateDetailKey(DataTable detail, string foreignFieldName, string foreignKeyValue) { if (detail == null) return; if (String.IsNullOrEmpty(foreignFieldName)) throw new Exception("明细表没指定外键, 请检查表模型定义!"); foreach (DataRow row in detail.Rows) { //仅新增记录才需要更新外键,注意状态的使用 if (row.RowState == DataRowState.Added) { if (String.IsNullOrEmpty(foreignKeyValue)) throw new Exception("外键值为空!"); else row[foreignFieldName] = foreignKeyValue; } } } //来源:C/S框架网(www.csframework.com) QQ:23404761 主从表BLL继承bllBaseBusiness基类,提交数据是调用BLL.Update(DataSet)方法,DataSet参数预设是最少两个DataTable,优化UpdateDetailKey方法后,您只需要添加明细表DataTable即可。 注意:单独提交明细表时,要确保明细表不能有Added状态的记录,因为DAL层的_UpdateSummaryKeyMode参数预设值=UpdateKeyMode.OnlyDocumentNo(自动生成流水号),此参数是针对主表的主建自动生成流水号码,若违法此规则,保存数据时会抛出异常,提示:外键值不能为空。 参考文档: 1.主从表的主表模型重点参数配置|UpdateKeyMode|ORM Model 2.手动和自动生成业务单据号码UpdateKeyMode详解(1) 3.更新主表的主键模式UpdateKeyMode枚举详解(2)
参考文档:
Asp.Net FileUpload类实现上传文件(C/S框架网开源) C#列复合勾选组件ColumnHeaderCheckBox|C/S框架网 C/S系统开发框架多级明细表(三级表/主从从表)数据结构参考 C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册|C/S框架网 通用文本提示对话框窗体支持保存文本文件|C/S框架网 VS表达式包含未定义的函数调用IsNullOrEmpty|C/S框架网 使用bllBaseDataDict类提交业务单据(主从表)的明细表实例|C/S框架网 更新明细表的外键-优化方法UpdateDetailKey|C/S框架网 数据窗体权限:修正AuthorityCategory.ALL_ACTION_VALUE常量定义|C/S框架网 VS2015源码管理器-GIT解决冲突并提交结果|C/S框架网 加密解密tb_DataSet/tb_MyUser表的密码|C/S框架网 C#语言FFMpegRunner-FFMpeg超级视频压缩工具下载|C/S框架网 CSFramework代码生成器自动生成主从表界面-C/S框架网 微信支付后台服务器返回的接口通知notify_url(回调接口设计)-C/S框架网 C#.NET IP端口绑定SSL证书支持HTTPS协议(用于Win服务自承载WebApi服务器) - C/S框架网原创
其它资料:
什么是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内容管理系统 | |