啊鑫
2024-07-09 0552fcc8cb73fc3021e2915129f55a42ed3f20e5
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
///*************************************************************************/
///*
///* 文件名    :ORM_ObjectClassAttribute.cs    
///*
///* 程序说明  : 对象关系映射ORM - 数据表对应的实体对象特性定义
///* 原创作者  :孙中吕 
///* 
///* Copyright 2006-2021 C/S框架网 www.csframework.com
///*
///**************************************************************************/
 
using System;
 
namespace CSFrameworkV5.Core.CodeGenerator
{
    /// <summary>
    /// ORM类的特性定义。用于定义数据表名、主键及主表或明细表类型
    /// </summary>
    public class ORM_TableAttribute : Attribute
    {
        private string _TableName; //物理表名,用于生成SQL语句Update (表) ....
        private string _PrimaryKey; //主键, 用于生成SQL语句的 Where @key=key
        private bool _isSummaryTable; //主表为true,明细表为false
 
        /// <summary>
        /// 主表为true,明细表为false
        /// </summary>
        public bool IsSummaryTable => _isSummaryTable;
 
        /// <summary>
        /// 物理表名,用于生成SQL语句Update (表) ....
        /// </summary>
        public string TableName => _TableName;
 
        /// <summary>
        /// 主键, 用于生成SQL语句的 Where @key=key, 复合主键(多个字段)用";"隔开。
        /// </summary>
        public string PrimaryKey => _PrimaryKey;
 
        /// <summary>
        /// 构造器
        /// </summary>
        /// <param name="tableName">物理表名</param>
        /// <param name="primaryKey">主键,复合主键(多个字段)用";"隔开</param>
        /// <param name="isSummaryTable">是否主表</param>
        public ORM_TableAttribute(string tableName, string primaryKey,
            bool isSummaryTable)
        {
            _TableName = tableName;
            _PrimaryKey = primaryKey;
            _isSummaryTable = isSummaryTable;
        }
    }
}