public T ToSingle(DataRow row) { EntityDescription description = EntityDescriptionCache.Get(typeof(T)); DataTable table = row.Table; return(GetSingle(row, description, table)); }
public List <T> ToList(DataTable table) { EntityDescription description = EntityDescriptionCache.Get(typeof(T)); List <T> list = new List <T>(Initializer.Instance.DefaultEntityListLen); foreach (DataRow row in table.Rows) { T instance = GetSingle(row, description, table); list.Add(instance); } return(list); }
private List <T> ToList(DbDataReader reader, EntityDescription description) { List <T> list = new List <T>(Initializer.Instance.DefaultEntityListLen); string[] names = DataExtensions.GetColumnNames(reader); while (reader.Read()) { T instance = GetSingle(reader, description, names); list.Add(instance); } return(list); }
public T ToSingle(DbDataReader reader) { if (reader.Read()) { EntityDescription description = EntityDescriptionCache.Get(typeof(T)); string[] names = DataExtensions.GetColumnNames(reader); return(GetSingle(reader, description, names)); } else { return(default(T)); } }
public static EntityDescription Get(Type entityType) { // 先尝试从缓存中获取 EntityDescription description = s_typeInfoDict[entityType.FullName] as EntityDescription; if (description == null) { // 创建类型的描述对象 description = Create(entityType, true); // 添加到缓存字典 s_typeInfoDict[entityType.FullName] = description; } return(description); }
private T GetSingle(DbDataReader reader, EntityDescription description, string[] names) { T instance = (T)typeof(T).FastNew(); for (int i = 0; i < names.Length; i++) { string name = names[i]; ColumnInfo info; if (description.MemberDict.TryGetValue(name, out info)) { object val = reader.GetValue(i); SetPropertyValue(info, instance, val, name); } } return(instance); }
private T GetSingle(DataRow row, EntityDescription description, DataTable table) { T instance = (T)typeof(T).FastNew(); for (int i = 0; i < table.Columns.Count; i++) { string name = table.Columns[i].ColumnName; ColumnInfo info; if (description.MemberDict.TryGetValue(name, out info)) { object val = row[i]; SetPropertyValue(info, instance, val, name); } } return(instance); }
public List <T> ToList(DbDataReader reader) { EntityDescription description = EntityDescriptionCache.Get(typeof(T)); return(ToList(reader, description)); }