更新主表的主键模式UpdateKeyMode枚举详解(2)
更新主表的主键模式UpdateKeyMode枚举详解(2)C# Code:
/// <summary>
/// 更新主表的主键模式
/// </summary>
public enum UpdateKeyMode
{
/// <summary>
/// 未指定.单据号码由用户手工输入
/// </summary>
None,
/// <summary>
/// 自动生成流水号
/// </summary>
OnlyDocumentNo,
/// <summary>
/// 自动生成36位GUID(全球唯一标识)
/// </summary>
OnlyGuid
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
/// <summary>
/// 更新主表的主键模式
/// </summary>
public enum UpdateKeyMode
{
/// <summary>
/// 未指定.单据号码由用户手工输入
/// </summary>
None,
/// <summary>
/// 自动生成流水号
/// </summary>
OnlyDocumentNo,
/// <summary>
/// 自动生成36位GUID(全球唯一标识)
/// </summary>
OnlyGuid
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
模拟主从表结构:
主表M(SONO varchar(36)),SONO字段为主表的主键。
从表D(RowID varchar(36), SONO varchar(36)),RowID为明细表主键,SONO为明细表的外键。
UpdateKeyMode枚举类型详解:
1. None: 单据号码由用户手工输入。
新增记录时必须给主表的SONO字段手工赋值,如:SO8888888。
提交数据前,必须给从表的SONO字段赋值为SO8888888,若由多条记录可循环处理逐条赋值。
明细表的RowID务必在新增明细记录时赋值(取GUID值)。
通过以后处理即完成主外键设置,可提交数据。
重点:若采用此模式,ORM模型的 isDocFieldName 参数必须设为false!
2. OnlyDocumentNo:单据号码自动生成。
若采用单据号码自动生成的模式,首先在主表的ORM Model 指定主键对应的字段名,参考下图:

ORM_TableAttribute:定义资料表对应的ORM模型的特性类,指定PrimaryKey的字段名,如:INNO。
ORM_FieldAttribute:定义每个字段对应的ORM模型的特性类。
若isPrimaryKey=true,表示该字段为主键。
若isDocFieldName=true,表示该字段为字段生成的单据号码(流水号码)。
_KeyName=INNO:定义该表的主键字段名的静态变量(也可用常量定义)。
参考上图红圈重点标注的配置信息,即可正确提交数据,单据号码会自动生成,若同时提交明细表资料,外键的值开发框架底层会自动赋值处理。
3. OnlyGUID:自动生成36位GUID(全球唯一标识)。
新增记录时必须给主表的SONO字段指定GUID,如:aa870685-a11b-45e9-b1c0-8e9eac326afd。
提交数据前,必须给从表的SONO字段赋值为 aa870685-a11b-45e9-b1c0-8e9eac326afd,
若由多条记录可循环处理逐条赋值。
明细表的RowID务必在新增明细记录时赋值(取GUID值)。
通过以后处理即完成主外键设置,可提交数据。
重点:若采用此模式,ORM模型的 isDocFieldName 参数必须设为false!
参考文章:
手动和自动生成业务单据号码UpdateKeyMode详解(1)
参考文档:
主从表的主表模型重点参数配置|UpdateKeyMode|ORM Model
手动和自动生成业务单据号码UpdateKeyMode详解(1)
支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网
C/S开发框架教程:使用基础资料(数据字典)的DAL层更新主从表(或多表)数据
怎样将DAL层提交数据默认为系统数据库?
ClassGenerator V2.01 生成的DAL源码
主从表的主表模型重点参数配置|UpdateKeyMode|ORM Model
手动和自动生成业务单据号码UpdateKeyMode详解(1)
支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网
C/S开发框架教程:使用基础资料(数据字典)的DAL层更新主从表(或多表)数据
怎样将DAL层提交数据默认为系统数据库?
ClassGenerator V2.01 生成的DAL源码
其它资料:
什么是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内容管理系统 |
什么是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内容管理系统 |
在线客服
