using System; using System.Collections.Generic; using System.Text; using CZTS.COMM; namespace ETD.ORM { public class MetaDataBak { #region private fields private bool _IsSplitTalbe = false; private bool _IsMultiPrimaryKey = false; private string _entityName; private Type _entityType; private string _tableName; private string _nameSpace; private string[] _primaryKeys; private Dictionary _fieldMeteDatas = new Dictionary();//主表列集合 private Dictionary _referenceObjects = new Dictionary();//扩展对象集合 private Dictionary _childObjects = new Dictionary();//子对象集合 #endregion #region public property /// /// 命名空间 /// public string NameSpace { get { return this._nameSpace; } set { this._nameSpace = value; } } /// /// 类名 /// public string EntityName { get { return _entityName; } set { _entityName = value; } } /// /// 实体类型 /// public Type EntityType { get { return _entityType; } set { _entityType = value; } } /// /// 是否是多主键 /// public bool IsMultiPrimaryKey { get { return this._IsMultiPrimaryKey; } set { this._IsMultiPrimaryKey = value; } } private string _PrimaryKey = ""; /// /// 主键值 /// public string PrimaryKey { get { return this._PrimaryKey; } set { this._PrimaryKey = value; } } /// /// 是否分表 /// public bool IsSplitTalbe { get { return this._IsSplitTalbe; } set { this._IsSplitTalbe = value; } } /// /// 对应的表 /// public string TableName { get { return _tableName; } set { _tableName = value; } } /// /// 列集合 /// public Dictionary FieldMeteDatas { get { return _fieldMeteDatas; } set { _fieldMeteDatas = value; } } /// /// 子对象集合 /// public Dictionary ChildObjects { get { return this._childObjects; } set { _childObjects = value; } } /// /// 扩展对象 /// public Dictionary ReferenceObjects { get { return this._referenceObjects; } set { _referenceObjects = value; } } private EntityPersistType persistType; /// /// 操作类型 /// public EntityPersistType PersistType { get { return persistType; } set { persistType = value; } } public Dictionary _values = new Dictionary(); /// /// 状态值属性 /// public Dictionary Values { get { return this._values; } set { this._values = value; } } #endregion public string[] GetProperties() { List properties = new List(); foreach (DataFieldMetaData meta in _fieldMeteDatas.Values) { properties.Add(meta.PropertyName); } return properties.ToArray(); } /// /// 获取所有字段 /// /// public string[] GetColumns() { List columns = new List(); foreach (DataFieldMetaData meta in _fieldMeteDatas.Values) { columns.Add(meta.ColumnName); } return columns.ToArray(); } /// /// 获取关键字段 /// /// public string[] GetPrimaryKeyColumns() { List properties = new List(); foreach (DataFieldMetaData meta in _fieldMeteDatas.Values) { if (meta.IsPrimaryKey) { properties.Add(meta.PropertyName); } } return properties.ToArray(); } /// /// 获取除关键字段外所有字段 /// /// public string[] GetExceptPrimaryKeyColumns() { List properties = new List(); foreach (DataFieldMetaData meta in _fieldMeteDatas.Values) { if (!meta.IsPrimaryKey) { properties.Add(meta.PropertyName); } } return properties.ToArray(); } public string[] GetAutoincrementColumns() { List properties = new List(); foreach (DataFieldMetaData meta in _fieldMeteDatas.Values) { if (meta.IsAutoincrement) { properties.Add(meta.PropertyName); } } return properties.ToArray(); } public string[] GetExceptAutoincrementColumns() { List properties = new List(); foreach (DataFieldMetaData meta in _fieldMeteDatas.Values) { if (!meta.IsAutoincrement) { properties.Add(meta.PropertyName); } } return properties.ToArray(); } private FieldValueCollection fields; /// /// 实体属性集合 /// public FieldValueCollection Fields { get { return fields; } set { fields = value; } } private FieldValueCollection fieldslikevalue; /// /// 模糊查询属性集合 /// public FieldValueCollection FlieldLikeValue { get { return fieldslikevalue; } set { fieldslikevalue = value; } } private string strwhere; /// /// 实体条件表达式 /// public string StrWhere { get { return strwhere; } set { strwhere = value; } } private string _moduleName; /// /// 模块 /// public string ModuleName { get { return _moduleName; } set { _moduleName = value; } } private string orderby; public override string OrderBy { get { return orderby; } set { orderby = value; } } } }