关于ORM实体类主键设置的几点建议(Tag:复合主键,ISID,PK)|C/S开发框架
关于ORM实体类主键设置的几点建议(Tag:复合主键,ISID,PK) 目录1. 业务主键和平台主键【业务主键】是指业务资料表的主键,作为其它表的外键使用的字段,如:
【平台主键】也称为记录主键,统一使用字段名:isid varchar(50)。CSFramework开发框架所有资料表定义的主键。 特别是业务表存在复合主键的情况下而设计,作为开发框架内部主键,isid字段不在界面显示,不体现报表等特点。 平台主键主要作用: a) 作为记录的主键使用,如SQL命令: C# 全选
b) 替换复合主键使用(避免多个AND关系的Where条件) C# 全选
重点: a) 存在复合主键的资料表必须定义一个平台主键,如:isid varchar(50)。 b) 当资料表只有一个主键时,只要定义业务主键即可,如:SONO。为了统一数据结构,也建议定义isid字段 2. 复合主键简化处理业务的需要,有些数据表需要定义复合主键,为了使软件设计简单化,SQL关联查询简单化,建议有复合主键的资料表定义一个唯一主键,如 isid,作为平台主键(PK),类型:VARCHAR(32),可以在客户端新增时赋值: C# 全选
3. isid 字段应用isid字段是开发框架所有资料表统一定义的字段名,isid 是 Is Identity 的缩写,作为记录主键使用。 isid作为明细表的主键,明细表的外键通常是单据号码,如:SONO, 或主表的isid字段 。 以下情况定义isid为主键a) 业务主键支持修改的情况下。框架默认业务主键是不可以修改的,如需要修改,必须定义一个isid字段作为数据更新使用,更新时的SQL脚本: C# 全选
如客户资料的业务主键是CustomerCode,界面需要支持修改客户编码,这种情况下必须定义isid为主键。 b) 数据字典的主键。通常数据字典的业务主键是编号,比如货币:CurrencyCode,客户:CustomerCode,单位:UnitCode,同时作为其它业务表的外键关联使用的。这些数据字典可以定义一个isid字段作为数据更新使用的平台主键。 c) 业务单据资料表的主表,可以将业务主键字段名(如:SONO)定义为主键。 4、平台主键isid,业务主键的表结构参考客户资料CustomerCode 定义为业务主键 isid 定义唯一索引 对应的 EF实体模型: C# 全选
销售订单主表销售订单明细表重要提示 EF实体模型统一使用isid作为主键。 扫一扫加作者微信
参考文档:
关于ORM实体类主键设置的几点建议(Tag:复合主键,ISID,PK) DevExpress设置主题切换界面皮肤样式 | SetSkinStyle方法 | Winform 蝇量框架|C/S开发框架 C# FormTool.SetCursor设置光标为等待状态,提高用户体验-C/S开发框架 CSFramework.CodeGeneratorV6.0|将窗体(Form)源码加入到VS解决方案|C/S开发框架 Postman工具设置Bearer Token与调试WebApi接口|C/S开发框架 C#.NET反射获取Form窗体中所有的方法Method|C/S开发框架 CSFrameworkV6:Toolbar功能按钮的子按钮设置多语言|C/S开发框架 踩坑日记 | DevExpress GridControl设置DataSource数据源无效|C/S开发框架 CSFrameworkV6 | 用户自定义打印机设置 (FastReport.NET 2023.1.8)|C/S开发框架 GridControl表格自定义按钮设置按钮图片|C/S开发框架 DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架 主窗体模块容器(frmModuleContainer)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架 DevExpress XtraTabControl 组件添加一个TabPage并设置图标|C/S开发框架 Winform C/S框架 - FastReport.NET组件下载-C/S开发框架 .NET 开源免费图表组件库 - ScottPlot(Winform,WPF 通用)-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内容管理系统 | |