公司级平台_IProgram_Model
1、AttributeO2O
public sealed class ColumnAttribute : Attribute { public ColumnAttribute() { } private bool _iskey = false; private bool _isauto = false; private bool _isnull = true; private SqlDataType _datatype = SqlDataType.VARCHAR; private bool _validationRepeat = false; /// <summary> /// 列字段 /// </summary> public string ColumnName { get; set; } /// <summary> /// 是否唯一主键 /// </summary> public bool IsKey { get { return _iskey; } set { _iskey = value; } } /// <summary> /// 是否自增字段 /// </summary> public bool IsAuto { get { return _isauto; } set { _isauto = value; } } /// <summary> /// 数据类型 /// </summary> public SqlDataType DataType { get { return _datatype; } set { _datatype = value; } } /// <summary> /// 是否可为空 /// </summary> public bool IsNullAble { get { return _isnull; } set { _isnull = value; } } /// <summary> /// 标签名称 /// </summary> public string Caption { get; set; } /// <summary> /// 默认值 /// </summary> public string Default { get; set; } /// <summary> /// [字符串有效]最大长度 /// </summary> public int MaxLength { get; set; } /// <summary> /// 验证重复 /// </summary> public bool ValidationRepeat { get { return _validationRepeat; } set { _validationRepeat = value; } } } public enum SqlDataType { VARCHAR, TINYTEXT, TEXT, CHAR, LONGTEXT, DATETIME2, DATETIME, DATE, DATETIMEOFFSET, FLOAT, NUMERIC, NVARCHAR, TINYINT, INT, BIGINT, BINARY, BIT }
2、AreaModel
/// <summary> /// 区域 /// </summary> public class AreaModel { [ColumnAttribute(IsKey = true, IsAuto = true, Caption = "唯一ID",DataType=SqlDataType.INT,ColumnName="id",IsNullAble=false)] public int ID{get;set;} [ColumnAttribute(Caption = "父类", DataType = SqlDataType.INT, ColumnName = "parentid")] public int ParentID{get;set;} [ColumnAttribute(Caption = "编号", DataType = SqlDataType.VARCHAR, ColumnName = "areacode",ValidationRepeat=true)] public string AreaCode{get;set;} [ColumnAttribute(Caption = "名称", DataType = SqlDataType.VARCHAR, ColumnName = "areaname")] public string AreaName{get;set;} [ColumnAttribute(Caption = "时间", DataType = SqlDataType.DATETIME, ColumnName = "createdate")] public DateTime createdate{get;set;} }