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_TableAttribute类详解:资料表特性定义
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网