public static Task <TResult> MinAsyncLinqToDB <TSource, TResult>(
     this IQueryable <TSource> source,
     Expression <Func <TSource, TResult> > selector,
     CancellationToken token = default)
 => AsyncExtensions.MinAsync(source.ToLinqToDB(), selector, token);
 /// <summary>
 /// Invokes a projection function on each element of a generic sequence
 /// and returns the minimum resulting value
 /// </summary>
 /// <typeparam name="TSource">The type of the elements of source</typeparam>
 /// <typeparam name="TResult">The type of the value returned by the function represented by selector</typeparam>
 /// <param name="source">A sequence of values to determine the minimum of</param>
 /// <param name="predicate">A projection function to apply to each element</param>
 /// <returns>The minimum value in the sequence</returns>
 public static Task <TResult> MinAsync <TSource, TResult>(this IQueryable <TSource> source,
                                                          Expression <Func <TSource, TResult> > predicate)
 {
     return(AsyncExtensions.MinAsync(source, predicate));
 }
 public static Task <TSource> MinAsyncLinqToDB <TSource>(
     this IQueryable <TSource> source,
     CancellationToken token = default)
 => AsyncExtensions.MinAsync(source.ToLinqToDB(), token);
 /// <summary>
 /// Returns the minimum value in a generic sequence
 /// </summary>
 /// <typeparam name="TSource">The type of the elements of source</typeparam>
 /// <param name="source">A sequence of values to determine the minimum of</param>
 /// <returns>The minimum value in the sequence</returns>
 public static Task <TSource> MinAsync <TSource>(this IQueryable <TSource> source)
 {
     return(AsyncExtensions.MinAsync(source));
 }