MetaDataBak.cs 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using CZTS.COMM;
  5. namespace ETD.ORM
  6. {
  7. public class MetaDataBak
  8. {
  9. #region private fields
  10. private bool _IsSplitTalbe = false;
  11. private bool _IsMultiPrimaryKey = false;
  12. private string _entityName;
  13. private Type _entityType;
  14. private string _tableName;
  15. private string _nameSpace;
  16. private string[] _primaryKeys;
  17. private Dictionary<string, DataFieldMetaData> _fieldMeteDatas = new Dictionary<string, DataFieldMetaData>();//主表列集合
  18. private Dictionary<string, ReferenceMataData> _referenceObjects = new Dictionary<string, ReferenceMataData>();//扩展对象集合
  19. private Dictionary<string, ChildMataData> _childObjects = new Dictionary<string, ChildMataData>();//子对象集合
  20. #endregion
  21. #region public property
  22. /// <summary>
  23. /// 命名空间
  24. /// </summary>
  25. public string NameSpace
  26. {
  27. get
  28. {
  29. return this._nameSpace;
  30. }
  31. set
  32. {
  33. this._nameSpace = value;
  34. }
  35. }
  36. /// <summary>
  37. /// 类名
  38. /// </summary>
  39. public string EntityName
  40. {
  41. get { return _entityName; }
  42. set { _entityName = value; }
  43. }
  44. /// <summary>
  45. /// 实体类型
  46. /// </summary>
  47. public Type EntityType
  48. {
  49. get { return _entityType; }
  50. set { _entityType = value; }
  51. }
  52. /// <summary>
  53. /// 是否是多主键
  54. /// </summary>
  55. public bool IsMultiPrimaryKey
  56. {
  57. get
  58. {
  59. return this._IsMultiPrimaryKey;
  60. }
  61. set
  62. {
  63. this._IsMultiPrimaryKey = value;
  64. }
  65. }
  66. private string _PrimaryKey = "";
  67. /// <summary>
  68. /// 主键值
  69. /// </summary>
  70. public string PrimaryKey
  71. {
  72. get
  73. {
  74. return this._PrimaryKey;
  75. }
  76. set
  77. {
  78. this._PrimaryKey = value;
  79. }
  80. }
  81. /// <summary>
  82. /// 是否分表
  83. /// </summary>
  84. public bool IsSplitTalbe
  85. {
  86. get
  87. {
  88. return this._IsSplitTalbe;
  89. }
  90. set
  91. {
  92. this._IsSplitTalbe = value;
  93. }
  94. }
  95. /// <summary>
  96. /// 对应的表
  97. /// </summary>
  98. public string TableName
  99. {
  100. get { return _tableName; }
  101. set { _tableName = value; }
  102. }
  103. /// <summary>
  104. /// 列集合
  105. /// </summary>
  106. public Dictionary<string, DataFieldMetaData> FieldMeteDatas
  107. {
  108. get { return _fieldMeteDatas; }
  109. set { _fieldMeteDatas = value; }
  110. }
  111. /// <summary>
  112. /// 子对象集合
  113. /// </summary>
  114. public Dictionary<string, ChildMataData> ChildObjects
  115. {
  116. get { return this._childObjects; }
  117. set { _childObjects = value; }
  118. }
  119. /// <summary>
  120. /// 扩展对象
  121. /// </summary>
  122. public Dictionary<string, ReferenceMataData> ReferenceObjects
  123. {
  124. get { return this._referenceObjects; }
  125. set { _referenceObjects = value; }
  126. }
  127. private EntityPersistType persistType;
  128. /// <summary>
  129. /// 操作类型
  130. /// </summary>
  131. public EntityPersistType PersistType
  132. {
  133. get { return persistType; }
  134. set { persistType = value; }
  135. }
  136. public Dictionary<string, EntityValue> _values = new Dictionary<string, EntityValue>();
  137. /// <summary>
  138. /// 状态值属性
  139. /// </summary>
  140. public Dictionary<string, EntityValue> Values
  141. {
  142. get { return this._values; }
  143. set { this._values = value; }
  144. }
  145. #endregion
  146. public string[] GetProperties()
  147. {
  148. List<string> properties = new List<string>();
  149. foreach (DataFieldMetaData meta in _fieldMeteDatas.Values)
  150. {
  151. properties.Add(meta.PropertyName);
  152. }
  153. return properties.ToArray();
  154. }
  155. /// <summary>
  156. /// 获取所有字段
  157. /// </summary>
  158. /// <returns></returns>
  159. public string[] GetColumns()
  160. {
  161. List<string> columns = new List<string>();
  162. foreach (DataFieldMetaData meta in _fieldMeteDatas.Values)
  163. {
  164. columns.Add(meta.ColumnName);
  165. }
  166. return columns.ToArray();
  167. }
  168. /// <summary>
  169. /// 获取关键字段
  170. /// </summary>
  171. /// <returns></returns>
  172. public string[] GetPrimaryKeyColumns()
  173. {
  174. List<string> properties = new List<string>();
  175. foreach (DataFieldMetaData meta in _fieldMeteDatas.Values)
  176. {
  177. if (meta.IsPrimaryKey)
  178. {
  179. properties.Add(meta.PropertyName);
  180. }
  181. }
  182. return properties.ToArray();
  183. }
  184. /// <summary>
  185. /// 获取除关键字段外所有字段
  186. /// </summary>
  187. /// <returns></returns>
  188. public string[] GetExceptPrimaryKeyColumns()
  189. {
  190. List<string> properties = new List<string>();
  191. foreach (DataFieldMetaData meta in _fieldMeteDatas.Values)
  192. {
  193. if (!meta.IsPrimaryKey)
  194. {
  195. properties.Add(meta.PropertyName);
  196. }
  197. }
  198. return properties.ToArray();
  199. }
  200. public string[] GetAutoincrementColumns()
  201. {
  202. List<string> properties = new List<string>();
  203. foreach (DataFieldMetaData meta in _fieldMeteDatas.Values)
  204. {
  205. if (meta.IsAutoincrement)
  206. {
  207. properties.Add(meta.PropertyName);
  208. }
  209. }
  210. return properties.ToArray();
  211. }
  212. public string[] GetExceptAutoincrementColumns()
  213. {
  214. List<string> properties = new List<string>();
  215. foreach (DataFieldMetaData meta in _fieldMeteDatas.Values)
  216. {
  217. if (!meta.IsAutoincrement)
  218. {
  219. properties.Add(meta.PropertyName);
  220. }
  221. }
  222. return properties.ToArray();
  223. }
  224. private FieldValueCollection fields;
  225. /// <summary>
  226. /// 实体属性集合
  227. /// </summary>
  228. public FieldValueCollection Fields
  229. {
  230. get { return fields; }
  231. set { fields = value; }
  232. }
  233. private FieldValueCollection fieldslikevalue;
  234. /// <summary>
  235. /// 模糊查询属性集合
  236. /// </summary>
  237. public FieldValueCollection FlieldLikeValue
  238. {
  239. get { return fieldslikevalue; }
  240. set { fieldslikevalue = value; }
  241. }
  242. private string strwhere;
  243. /// <summary>
  244. /// 实体条件表达式
  245. /// </summary>
  246. public string StrWhere
  247. {
  248. get { return strwhere; }
  249. set { strwhere = value; }
  250. }
  251. private string _moduleName;
  252. /// <summary>
  253. /// 模块
  254. /// </summary>
  255. public string ModuleName
  256. {
  257. get { return _moduleName; }
  258. set { _moduleName = value; }
  259. }
  260. private string orderby;
  261. public override string OrderBy { get { return orderby; } set { orderby = value; } }
  262. }
  263. }