public static Hashtable GetAttributeMemberInfos(Type type) { lock (hashtableAttributeMember) { if (hashtableAttributeMember.ContainsKey(type.FullName) == false) { hashtableAttributeMember.Add(type.FullName, DomainObjectUtility.GetAttributeMemberInfos(DomainObjectUtility.GetMemberInfos(type))); } } return((Hashtable)hashtableAttributeMember[type.FullName]); }
/// <summary> /// 获得DomainObject对应的所有数据库字段名 /// </summary> /// <param name="type">DomainObject的类型</param> /// <returns></returns> public static ArrayList GetDomainObjectFieldsName(Type type) { Hashtable hs = DomainObjectUtility.GetAttributeMemberInfos(type); ArrayList array = new ArrayList(hs.Count); foreach (FieldMapAttribute attr in hs.Keys) { array.Add(attr.FieldName); } return(array); }
public static DomainObject FillDomainObject(object obj, DataRow dataRow) { Hashtable hs = DomainObjectUtility.GetAttributeMemberInfos(obj); Hashtable hsFields = GetFieldNameMapAttribute(obj.GetType().FullName, hs); foreach (DataColumn column in dataRow.Table.Columns) { if (hsFields.Contains(column.ColumnName.ToUpper())) { DomainObjectUtility.SetValue(obj, (MemberInfo)hsFields[column.ColumnName.ToUpper()], dataRow[column.ColumnName]); } } return((DomainObject)obj); }