1
yhj
2024-07-24 5e5d945e91568b973faa27d8ab0bcef99fc4a6c5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
///*************************************************************************/
///*
///* 文件名    :ORM_FieldAttribute.cs    
///*
///* 程序说明  : 对象关系映射ORM - 字段特性定义
///* 原创作者  :孙中吕 
///* 
///* Copyright 2006-2021 C/S框架网 www.csframework.com
///*
///**************************************************************************/
 
using System;
using System.Data;
 
namespace CSFrameworkV5.Core.CodeGenerator
{
    /// <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 => _type;
 
        /// <summary>
        /// 字段长度
        /// </summary>
        public int Size => _size;
 
        /// <summary>
        /// 是否视图或Lookup参照字段(参照字段不能新增和修改)
        /// </summary>
        public bool IsLookup => _isLookup;
 
        /// <summary>
        /// 是否更新字段
        /// </summary>
        public bool IsAddOrUpdate => _isAddOrUpdate;
 
        /// <summary>
        /// 是否主键字段
        /// </summary>
        public bool IsPrimaryKey => _isPrimaryKey;
 
        /// <summary>
        /// 是否外键字段
        /// </summary>
        public bool IsForeignKey => _isForeignKey;
 
        /// <summary>
        /// 是否单据号码
        /// </summary>
        public bool IsDocFieldName => _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;
        }
    }
}