实体类,LmgORM项目 实体类转换器

LmgORM项目 实体类转换器
主要包含以下转换 :
  • 使用DbDataReader填充对象.
  • 使用DataSet填充对象.
  • dataset转实体类
  • 将实体类转换成DataTable
  • 转换IList为List
  • List转换为ArrayList
/// /// 实体类转换器 /// public class TypeConverter { /// /// 使用SQL填充对象. /// /// ///
///
/// public static ArrayList FillModelForSql(DataItem fieldItem,
System.Data.Common.DbDataReader reader) where T : new() { ArrayList resultList = new ArrayList(); Hashtable hashTable = fieldItem.DataValueToHashTable(); while (reader.Read()) { T emptyDataObject = new T(); for (int i = 0; i < reader.FieldCount; i++) { Object obj = reader.GetValue(i); if (hashTable[reader.GetName(i).ToString().ToUpper()] != null) { CommonHelper.Instance.SetProValue(emptyDataObject, hashTable[reader.GetName(i).
ToString().ToUpper()].ToString(), obj); } } resultList.Add(emptyDataObject); } return resultList; } /// /// 使用SQL填充对象. /// /// ///
///
/// public static ArrayList FillForSql(DataItem fieldItem,
DataSet dataset) where T : new() { ArrayList resultList = new ArrayList(); Hashtable hashTable = fieldItem.DataValueToHashTable(); foreach (DataRow dr in dataset.Tables[0].Rows) { T emptyDataObject = new T(); foreach (DataColumn dc in dr.Table.Columns) { if (hashTable[dc.ColumnName.ToUpper()] != null) { CommonHelper.Instance.SetProValue(emptyDataObject,
hashTable[dc.ColumnName.ToUpper()].ToString(), dr[dc.ColumnName]); } } resultList.Add(emptyDataObject); } return resultList; } /// /// 使用SQL填充对象. /// ///
///
///
/// public static ArrayList QueryEntityListForSql(Type typeEntity,
DataItem fieldItem, System.Data.Common.DbDataReader reader) { ArrayList resultList = new ArrayList(); Hashtable hashTable = fieldItem.DataValueToHashTable(); while (reader.Read()) { object emptyDataObject = Activator.CreateInstance(typeEntity); for (int i = 0; i < reader.FieldCount; i++) { Object obj = reader.GetValue(i); if (hashTable[reader.GetName(i).ToString().ToUpper()] != null) { CommonHelper.Instance.SetProValue(typeEntity, emptyDataObject, hashTable[reader.GetName(i).ToString().
ToUpper()].ToString(), obj); } } resultList.Add(emptyDataObject); } return resultList; } /// /// dataset转实体类 /// /// 实体类 /// dataset
/// public static IList FillModel(DataSet ds) { List l = new List(); T model = default(T); if (ds.Tables[0].Columns[0].ColumnName == "rowId"){ ds.Tables[0].Columns.Remove("rowId"); } foreach (DataRow dr in ds.Tables[0].Rows) { model = Activator.CreateInstance(); foreach (DataColumn dc in dr.Table.Columns) { try { PropertyInfo pi = model.GetType().GetProperty(dc.ColumnName); if (dr[dc.ColumnName] != DBNull.Value) pi.SetValue(model, dr[dc.ColumnName], null); else pi.SetValue(model, null, null); } catch { continue; } } l.Add(model); } return l; } /// /// 将实体类转换成DataTable /// /// ///
/// public static DataTable Fill(IList objlist) { if (objlist == null || objlist.Count <= 0) { return null; } DataTable dt = new DataTable(typeof(T).Name); DataColumn column; DataRow row; System.Reflection.PropertyInfo[] myPropertyInfo =
typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance); foreach (T t in objlist) { if (t == null) { continue; } row = dt.NewRow(); for (int i = 0, j = myPropertyInfo.Length; i < j; i++) { System.Reflection.PropertyInfo pi = myPropertyInfo[i]; string name = pi.Name; if (dt.Columns[name] == null) { column = new DataColumn(name, pi.PropertyType); dt.Columns.Add(column); } row[name] = pi.GetValue(t, null); } dt.Rows.Add(row); } return dt; } /// /// 转换IList为List /// /// 指定的集合中泛型的类型 /// 需要转换的IList
/// public static List ConvertIListToList(IList gbList) where T : class { if (gbList != null && gbList.Count > 1) { List list = new List(); for (int i = 0; i < gbList.Count; i++) { T temp = gbList[i] as T; if (temp != null) list.Add(temp); } return list; } return null; } /// /// List转换为ArrayList /// /// ///
/// public static ArrayList GenericToArrayList(List list) { ArrayList alist = new ArrayList(); foreach (T t in list) { alist.Add(t); } return alist; } }
Tags:  实体类生成工具 什么是实体类 java实体类 实体类生成器 实体类

延伸阅读

最新评论

发表评论