public static IEnumerable <ColumnDescriptor> GetChildColumns(ColumnDescriptor columnDescriptor) { var collectionColumn = columnDescriptor.GetCollectionColumn(); if (null != collectionColumn) { if (collectionColumn.PropertyType.IsGenericType && collectionColumn.PropertyType.GetGenericTypeDefinition() == typeof(KeyValuePair <,>)) { return(new[] { collectionColumn.ResolveChild("Key"), collectionColumn.ResolveChild("Value") }); } return(collectionColumn.GetChildColumns()); } return(columnDescriptor.GetChildColumns()); }