From 51899b4702e0135cc16a657ab771459e03e88837 Mon Sep 17 00:00:00 2001 From: Alessandro Chiavegato Date: Tue, 24 Jan 2023 08:41:20 +0100 Subject: [PATCH] Support GroupBy for IQuery --- URF.Core.Abstractions/IQuery.cs | 6 +++--- URF.Core.EF/Query.cs | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/URF.Core.Abstractions/IQuery.cs b/URF.Core.Abstractions/IQuery.cs index a065f0e..3d1b56b 100644 --- a/URF.Core.Abstractions/IQuery.cs +++ b/URF.Core.Abstractions/IQuery.cs @@ -18,6 +18,7 @@ public interface IQuery where TEntity : class IQuery Take(int take); IQuery ThenBy(Expression> thenBy); IQuery ThenByDescending(Expression> thenByDescending); + IQuery GroupBy(Expression> groupBy); Task CountAsync(CancellationToken cancellationToken = default); Task FirstOrDefaultAsync(CancellationToken cancellationToken = default); Task FirstOrDefaultAsync(Expression> predicate, CancellationToken cancellationToken = default); @@ -26,7 +27,6 @@ public interface IQuery where TEntity : class Task> SelectSqlAsync(string sql, object[] parameters, CancellationToken cancellationToken = default); Task AnyAsync(Expression> predicate, CancellationToken cancellationToken = default); Task AnyAsync(CancellationToken cancellationToken = default); - Task AllAsync(Expression> predicate, CancellationToken cancellationToken = default); - + Task AllAsync(Expression> predicate, CancellationToken cancellationToken = default); } -} \ No newline at end of file +} diff --git a/URF.Core.EF/Query.cs b/URF.Core.EF/Query.cs index 99374c2..d8d0f39 100644 --- a/URF.Core.EF/Query.cs +++ b/URF.Core.EF/Query.cs @@ -50,6 +50,9 @@ public virtual IQuery ThenByDescending(Expression // ReSharper disable once ReturnValueOfPureMethodIsNotUsed =>Set(q => q._orderedQuery.ThenByDescending(thenByDescending)); + public virtual IQuery GroupBy(Expression> groupBy) + => Set(q => q._query.GroupBy(groupBy)); + public virtual async Task CountAsync(CancellationToken cancellationToken = default ) => await _query.CountAsync(cancellationToken);