schangxiang@126.com
2025-09-17 e8e8a06fc68a6a645ce32be2cc9c3aaa67a97d68
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
using iWareCommon.Common.Entity;
using iWareCommon.Utils;
using iWareDataCore.ORM;
using System.Collections.Generic;
using System.Linq;
 
namespace iWareDataCore.BASE.Entity
{
    public class MaterialTypeEntity : ICommonEntity<BASEMaterialType>
    {
        /// <summary>
        /// 1主键id
        /// </summary>
        public int Id { get; set; }
 
        /// <summary>
        /// 2物料类型名称
        /// </summary>
        public string Name { get; set; }
 
        /// <summary>
        /// 3备注
        /// </summary>
        public string Remark { get; set; }
 
        /// <summary>
        /// 4类型
        /// </summary>
        public int Type { get; set; }
 
 
        /// <summary>
        /// 无参构造
        /// </summary>
        public MaterialTypeEntity() { }
 
        /// <summary>
        /// 有参构造
        /// </summary>
        /// <param name="basef">orm映射的类</param>
        public MaterialTypeEntity(BASEMaterialType type)
        {
            EntityPropHelper<MaterialTypeEntity, BASEMaterialType>.CopyProp(type, this, GetColumnMap());
 
        }
        /// <summary>
        /// 转换视图的方法
        /// </summary>
        /// <param name="type"></param>
        public MaterialTypeEntity(MaterialTypeViewEntity type)
        {
            var keys = GetColumnMap().Keys.ToList();
            var columnMap = new Dictionary<string, string>();
            keys.ForEach(x => columnMap.Add(x, x));
 
            EntityPropHelper<MaterialTypeEntity, MaterialTypeViewEntity>.CopyProp(type, this, columnMap);
 
        }
 
        /// <summary>
        /// 将对象转换成ORM中的类型
        /// </summary>
        /// <returns>Orm中的BASEMaterialType类型</returns>
        public BASEMaterialType ToOrm()
        {
            BASEMaterialType type = new BASEMaterialType();
 
            EntityPropHelper<MaterialTypeEntity, BASEMaterialType>.CopyProp(this, type, GetColumnMap());
 
            return type;
        }
 
        ///<summary>
        /// 获取自定义角色类中的字段名为键,orm中对象的字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>() 
            { 
                {"Id", "id"},
                {"Name", "name"},
                {"Remark", "remark"},
                {"Type", "type"}
                
            };
        }
 
 
        /// <summary>
        /// 根据MaterialTypeEntity的字段转BASEMaterialType的字段
        /// </summary>
        /// <param name="name">MaterialTypeEntity的字段</param>
        /// <returns>BASEMaterialType</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
 
        /// <summary>
        /// 获取MaterialTypeEntity对应的表名
        /// </summary>
        /// <returns>表名</returns>
        public static string GetTableName()
        {
            return "[dbo].[BASEMaterialType]";
        }
    }
}