ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本
ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本
C# Code: /// <summary> /// 字段特性定义,根据参数自动生成SQL脚本。 /// </summary> public class ORM_FieldAttribute : Attribute { private DbType _type; //数据类型 private int _size; //字段长度 private bool _isLookup;//是否是视图或Lookup字段 private bool _isAddOrUpdate;//是否需要更新的字段 private bool _isPrimaryKey; //是否主键字段 isid/ 32bit string private bool _isForeignKey;//是否外键字段 isid /32bit string private bool _isDocFieldName;//是否单据号码 /// <summary> /// SqlDbType数据类型 /// </summary> public DbType Type { get { return _type; } } /// <summary> /// 字段长度 /// </summary> public int Size { get { return _size; } } /// <summary> /// 是否视图或Lookup参照字段(参照字段不能新增和修改) /// </summary> public bool IsLookup { get { return _isLookup; } } /// <summary> /// 是否更新字段 /// </summary> public bool IsAddOrUpdate { get { return _isAddOrUpdate; } } /// <summary> /// 是否主键字段 /// </summary> public bool IsPrimaryKey { get { return _isPrimaryKey; } } /// <summary> /// 是否外键字段 /// </summary> public bool IsForeignKey { get { return _isForeignKey; } } /// <summary> /// 是否单据号码 /// </summary> public bool IsDocFieldName { get { return _isDocFieldName; } } /// <summary> /// 构造器 /// </summary> /// <param name="type">DbType数据类型</param> /// <param name="size">字段长度</param> /// <param name="islookup">是否是视图或Lookup字段</param> /// <param name="isAddorUpdate">是否需要更新的字段</param> /// <param name="isPrimaryKey">是否主键字段</param> /// <param name="isForeignKey">是否外键字段</param> /// <param name="isDocFieldName">是否单据号码</param> public ORM_FieldAttribute(DbType type, int size, bool islookup, bool isAddorUpdate, bool isPrimaryKey, bool isForeignKey, bool isDocFieldName) { _type = type; _size = size; _isLookup = islookup; _isAddOrUpdate = isAddorUpdate; _isPrimaryKey = isPrimaryKey; _isForeignKey = isForeignKey; _isDocFieldName = isDocFieldName; } } //来源:C/S框架网(www.csframework.com) QQ:23404761 ORM_FieldAttribute类详解 isAddorUpdate: isAddorUpdate属性是指当前字段是否需要更新,True:生成的SQL语句包含此字段,反之亦然。 isPrimaryKey: isPrimaryKey属性是指当前字段是否主键,True:生成的SQL语句 Where条件包含此字段。 isForeignKey: isForeignKey属性是指当前字段是否外键,仅明细表需要设置。True:当提交数据时,会自动设置标识为外键的值。举例:若主表的主键值为PK0001,循环处理对明细表外键值全部设置为PK0001。 isDocFieldName: isDocFieldName属性是指当前字段是否单据号码(或流水号码),仅主表需要设置。流水号码由系统根据规则自动生成,如:DD000001。True:当提交数据时,会自动给此字段生成流水号码和赋值。 isLookup: isLookup属性是指当前字段是否参考字段,当前ORM模型对应的物理表是不存在此字段的。 isLookup属性其实没多大作用,若isLookup=True, isAddOrUpdate必须=False,表示此字段不可生成SQL。 用途: 参考资料: ORM_TableAttribute类详解:资料表特性定义
参考文档:
数据字典开发灵活吗?能不能做到根据表结构定义自动生成? 基于C#.NET C/S快速开发框架 - 代码自动生成功能 C/S快速开发框架 - 代码自动生成视频下载 CS开发框架的客户端可以自动生成吗? CS开发框架 - 业务单据自动生成功能设计(原) 客户要求开发框架能自动生成数据窗体及log日志表 C/S框架后台数据更新模型之ORM自动生成SQL基本原理 你的开发框架能自动生成WebService层的接口吗? 手动和自动生成业务单据号码UpdateKeyMode详解(1) 开发框架新增单据自动生成功能 CS开发框架旗舰版主从从表(多级明细表)实例,自动生成主从表代码 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 CSFramework代码生成器自动生成主从表界面-C/S框架网 ORM_TableAttribute类详解:资料表特性定义 数据字典窗体根据某个字段类型自动生成改类型的流水序号
其它资料:
什么是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内容管理系统 | |