ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本


ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本-开发框架文库

ORM_FieldAttribute 类


C# 全选
/// <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


构造器参数详解

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_FieldAttribute类详解字段特性定义

 

参考资料

 
ORM_TableAttribute类详解:资料表特性定义
 
 
开发框架培训-开发框架文库
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:原创:CodeHighlighter源代码格式化,代码缩进,关键词高亮着色(C#源码)
下一篇:ORM_TableAttribute类详解:资料表特性定义
评论列表

发表评论

评论内容
昵称:
关联文章

ORM_FieldAttribute详解字段特性定义框架根据特性自动生成SQL脚本
ORM_TableAttribute详解:资料表特性定义
代码生成器 CodeGenerator - 生成ORM
CSFramework代码生成器生成三种ORM模型(静态ORM,实体ORM,标准对象)
C/S框架后台数据更新模型之ORM自动生成SQL基本原理
TableInfoAttribute、KeyField、IgnoreField特性详解
开发框架支持的两种ORM模型(静态/实体)
CG_LookupDataBoundAttribute详解
数据字典开发灵活吗?能不能做到根据表结构定义自动生成
CS开发框架之自增字段(Identity),时间戳(Timestamp)字段处理|C/S框架
数据字典窗体根据某个字段类型自动生成改类型的流水序号
提交数据时生成SQL脚本便于实时跟踪
ClassGenerator(ORM生成器)下载
开发技巧:开发框架新增删除字段操作步骤详解
ORM模型介绍(ORM Model)- CSFramework.WebApi服务端框架
手动和自动生成业务单据号码UpdateKeyMode详解(1)
C#.Net快速开发框架 - ORM ,BLL,DAL三者关系
ClassGenerator V2.01 生成ORM源码
CSFramework代码生成器根据数据库表结构生成实体对象模型(C#代码)
CSFramework代码生成器自动生成主从表界面-C/S框架