Skip to content

Commit 968c29d

Browse files
Update text
Update text
1 parent 79cb06d commit 968c29d

File tree

1 file changed

+89
-11
lines changed

1 file changed

+89
-11
lines changed

src/System.Linq.Dynamic.Core/DynamicQueryableExtensions.cs

Lines changed: 89 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,23 @@ public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] Par
679679
return InternalGroupBy(source, config, keySelector, resultSelector, null, args);
680680
}
681681

682-
// NEED TEXT!
682+
/// <summary>
683+
/// Groups the elements of a sequence according to a specified key string function
684+
/// and creates a result value from each group and its key.
685+
/// </summary>
686+
/// <param name="source">A <see cref="IQueryable"/> whose elements to group.</param>
687+
/// <param name="config">The <see cref="ParsingConfig"/>.</param>
688+
/// <param name="keySelector">A string expression to specify the key for each element.</param>
689+
/// <param name="resultSelector">A string expression to specify a result value from each group.</param>
690+
/// <param name="equalityComparer">The comparer to use.</param>
691+
/// <param name="args">An object array that contains zero or more objects to insert into the predicate as parameters. Similar to the way String.Format formats strings.</param>
692+
/// <returns>A <see cref="IQueryable"/> where each element represents a projection over a group and its key.</returns>
693+
/// <example>
694+
/// <code>
695+
/// var groupResult1 = queryable.GroupBy("NumberPropertyAsKey", "StringProperty");
696+
/// var groupResult2 = queryable.GroupBy("new (NumberPropertyAsKey, StringPropertyAsKey)", "new (StringProperty1, StringProperty2)");
697+
/// </code>
698+
/// </example>
683699
public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] ParsingConfig config, [NotNull] string keySelector, [NotNull] string resultSelector, IEqualityComparer equalityComparer, object[] args)
684700
{
685701
return InternalGroupBy(source, config, keySelector, resultSelector, equalityComparer, args);
@@ -724,7 +740,7 @@ public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] str
724740
return GroupBy(source, ParsingConfig.Default, keySelector, resultSelector, args);
725741
}
726742

727-
// NEED TEXT!
743+
/// <inheritdoc cref="GroupBy(IQueryable, ParsingConfig, string, string, IEqualityComparer, object[])"/>
728744
public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] string keySelector, [NotNull] string resultSelector, IEqualityComparer equalityComparer, object[] args)
729745
{
730746
return GroupBy(source, ParsingConfig.Default, keySelector, resultSelector, equalityComparer, args);
@@ -756,13 +772,28 @@ public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] str
756772
return GroupBy(source, ParsingConfig.Default, keySelector, resultSelector);
757773
}
758774

759-
// NEED TEXT!
775+
/// <summary>
776+
/// Groups the elements of a sequence according to a specified key string function
777+
/// and creates a result value from each group and its key.
778+
/// </summary>
779+
/// <param name="source">A <see cref="IQueryable"/> whose elements to group.</param>
780+
/// <param name="config">The <see cref="ParsingConfig"/>.</param>
781+
/// <param name="keySelector">A string expression to specify the key for each element.</param>
782+
/// <param name="resultSelector">A string expression to specify a result value from each group.</param>
783+
/// <param name="equalityComparer">The comparer to use.</param>
784+
/// <returns>A <see cref="IQueryable"/> where each element represents a projection over a group and its key.</returns>
785+
/// <example>
786+
/// <code>
787+
/// var groupResult1 = queryable.GroupBy("NumberPropertyAsKey", "StringProperty");
788+
/// var groupResult2 = queryable.GroupBy("new (NumberPropertyAsKey, StringPropertyAsKey)", "new (StringProperty1, StringProperty2)");
789+
/// </code>
790+
/// </example>
760791
public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] ParsingConfig config, [NotNull] string keySelector, [NotNull] string resultSelector, IEqualityComparer equalityComparer)
761792
{
762793
return InternalGroupBy(source, config, keySelector, resultSelector, equalityComparer, null);
763794
}
764795

765-
// NEED TEXT!
796+
/// <inheritdoc cref="GroupBy(IQueryable, ParsingConfig, string, string, IEqualityComparer)"/>
766797
public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] string keySelector, [NotNull] string resultSelector, IEqualityComparer equalityComparer)
767798
{
768799
return GroupBy(source, ParsingConfig.Default, keySelector, resultSelector, equalityComparer);
@@ -789,7 +820,22 @@ public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] Par
789820
return InternalGroupBy(source, config, keySelector, null, args);
790821
}
791822

792-
// NEED TEXT!
823+
/// <summary>
824+
/// Groups the elements of a sequence according to a specified key string function
825+
/// and creates a result value from each group and its key.
826+
/// </summary>
827+
/// <param name="source">A <see cref="IQueryable"/> whose elements to group.</param>
828+
/// <param name="config">The <see cref="ParsingConfig"/>.</param>
829+
/// <param name="keySelector">A string expression to specify the key for each element.</param>
830+
/// <param name="args">An object array that contains zero or more objects to insert into the predicate as parameters. Similar to the way String.Format formats strings.</param>
831+
/// <param name="equalityComparer">The comparer to use.</param>
832+
/// <returns>A <see cref="IQueryable"/> where each element represents a projection over a group and its key.</returns>
833+
/// <example>
834+
/// <code>
835+
/// var groupResult1 = queryable.GroupBy("NumberPropertyAsKey");
836+
/// var groupResult2 = queryable.GroupBy("new (NumberPropertyAsKey, StringPropertyAsKey)");
837+
/// </code>
838+
/// </example>
793839
public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] ParsingConfig config, [NotNull] string keySelector, IEqualityComparer equalityComparer, [CanBeNull] params object[] args)
794840
{
795841
return InternalGroupBy(source, config, keySelector, equalityComparer, args);
@@ -831,7 +877,7 @@ public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] str
831877
return GroupBy(source, ParsingConfig.Default, keySelector, args);
832878
}
833879

834-
// NEED TEXT!
880+
/// <inheritdoc cref="GroupBy(IQueryable, ParsingConfig, string, IEqualityComparer, object[])"/>
835881
public static IQueryable GroupBy([NotNull] this IQueryable source, [NotNull] string keySelector, IEqualityComparer equalityComparer, [CanBeNull] params object[] args)
836882
{
837883
return GroupBy(source, ParsingConfig.Default, keySelector, equalityComparer, args);
@@ -1395,7 +1441,22 @@ public static IOrderedQueryable OrderBy([NotNull] this IQueryable source, [NotNu
13951441
return InternalOrderBy(source, config, ordering, null, args);
13961442
}
13971443

1398-
// NEED TEXT!
1444+
/// <summary>
1445+
/// Sorts the elements of a sequence in ascending or descending order according to a key.
1446+
/// </summary>
1447+
/// <param name="source">A sequence of values to order.</param>
1448+
/// <param name="config">The <see cref="ParsingConfig"/>.</param>
1449+
/// <param name="ordering">An expression string to indicate values to order by.</param>
1450+
/// <param name="comparer">The comparer to use.</param>
1451+
/// <param name="args">An object array that contains zero or more objects to insert into the predicate as parameters. Similar to the way String.Format formats strings.</param>
1452+
/// <returns>A <see cref="IQueryable"/> whose elements are sorted according to the specified <paramref name="ordering"/>.</returns>
1453+
/// <example>
1454+
/// <code>
1455+
/// var resultSingle = queryable.OrderBy("NumberProperty");
1456+
/// var resultSingleDescending = queryable.OrderBy("NumberProperty DESC");
1457+
/// var resultMultiple = queryable.OrderBy("NumberProperty, StringProperty DESC");
1458+
/// </code>
1459+
/// </example>
13991460
public static IOrderedQueryable OrderBy([NotNull] this IQueryable source, [NotNull] ParsingConfig config, [NotNull] string ordering, IComparer comparer, params object[] args)
14001461
{
14011462
return InternalOrderBy(source, config, ordering, comparer, args);
@@ -1441,9 +1502,9 @@ internal static IOrderedQueryable InternalOrderBy([NotNull] IQueryable source, [
14411502
public static IOrderedQueryable OrderBy([NotNull] this IQueryable source, [NotNull] string ordering, params object[] args)
14421503
{
14431504
return OrderBy(source, ParsingConfig.Default, ordering, args);
1444-
}
1505+
}
14451506

1446-
// NEED TEXT!
1507+
/// <inheritdoc cref="OrderBy(IQueryable, ParsingConfig, string, IComparer, object[])"/>
14471508
public static IOrderedQueryable OrderBy([NotNull] this IQueryable source, [NotNull] string ordering, IComparer comparer, params object[] args)
14481509
{
14491510
return OrderBy(source, ParsingConfig.Default, ordering, comparer, args);
@@ -2336,6 +2397,7 @@ public static IOrderedQueryable<TSource> ThenBy<TSource>([NotNull] this IOrdered
23362397
{
23372398
return ThenBy(source, ParsingConfig.Default, ordering, comparer, args);
23382399
}
2400+
23392401
/// <summary>
23402402
/// Performs a subsequent ordering of the elements in a sequence in ascending order according to a key.
23412403
/// </summary>
@@ -2357,7 +2419,23 @@ public static IOrderedQueryable ThenBy([NotNull] this IOrderedQueryable source,
23572419
return InternalThenBy(source, config, ordering, null, args);
23582420
}
23592421

2360-
// NEED TEXT!
2422+
/// <summary>
2423+
/// Performs a subsequent ordering of the elements in a sequence in ascending order according to a key.
2424+
/// </summary>
2425+
/// <param name="source">A sequence of values to order.</param>
2426+
/// <param name="config">The <see cref="ParsingConfig"/>.</param>
2427+
/// <param name="ordering">An expression string to indicate values to order by.</param>
2428+
/// <param name="comparer">The comparer to use.</param>
2429+
/// <param name="args">An object array that contains zero or more objects to insert into the predicate as parameters. Similar to the way String.Format formats strings.</param>
2430+
/// <returns>A <see cref="IQueryable"/> whose elements are sorted according to the specified <paramref name="ordering"/>.</returns>
2431+
/// <example>
2432+
/// <code>
2433+
/// var result = queryable.OrderBy("LastName");
2434+
/// var resultSingle = result.OrderBy("NumberProperty");
2435+
/// var resultSingleDescending = result.OrderBy("NumberProperty DESC");
2436+
/// var resultMultiple = result.OrderBy("NumberProperty, StringProperty DESC");
2437+
/// </code>
2438+
/// </example>
23612439
public static IOrderedQueryable ThenBy([NotNull] this IOrderedQueryable source, [NotNull] ParsingConfig config, [NotNull] string ordering, IComparer comparer, params object[] args)
23622440
{
23632441
return InternalThenBy(source, config, ordering, comparer, args);
@@ -2405,7 +2483,7 @@ public static IOrderedQueryable ThenBy([NotNull] this IOrderedQueryable source,
24052483
return ThenBy(source, ParsingConfig.Default, ordering, args);
24062484
}
24072485

2408-
// NEED TEXT!
2486+
/// <inheritdoc cref="ThenBy(IOrderedQueryable, ParsingConfig, string, IComparer, object[])"/>
24092487
public static IOrderedQueryable ThenBy([NotNull] this IOrderedQueryable source, [NotNull] string ordering, IComparer comparer, params object[] args)
24102488
{
24112489
return ThenBy(source, ParsingConfig.Default, ordering, comparer, args);

0 commit comments

Comments
 (0)