private IEntity ReadEntity(SqlDataReader reader, EntityTable table) { Type type = table.Type; IEntity entity = (IEntity)table.EntityActivator(); foreach (Column column in table.Columns) { PropertyInfo property = type.GetProperty(column.PropertyName); property.SetValue(entity, Convert.ChangeType(reader[column.Name], property.PropertyType)); } entity.InstantiateChildProperties(); return(entity); }