public static IEnumerable <string> SelectAllDistinctKeys(this IEnumerable <BsonDocument> documents, FieldSortOrder sortOrder = FieldSortOrder.Original) { if (documents == null) { return(Enumerable.Empty <string>()); } var result = documents .SelectMany(p => p.Keys) .Distinct(StringComparer.InvariantCulture); if (sortOrder == FieldSortOrder.Alphabetical) { result = result.OrderBy(_ => _); } return(result); }
public IReadOnlyList <string> GetDistinctKeys(FieldSortOrder sortOrder = FieldSortOrder.Original) { return(Items.SelectAllDistinctKeys(sortOrder).ToList()); }