diff --git a/DigitalData.Core.Application/Interfaces/Repository/IRepository.cs b/DigitalData.Core.Application/Interfaces/Repository/IRepository.cs index 88a65fa..93660e9 100644 --- a/DigitalData.Core.Application/Interfaces/Repository/IRepository.cs +++ b/DigitalData.Core.Application/Interfaces/Repository/IRepository.cs @@ -10,7 +10,7 @@ public interface IRepository public Task> CreateAsync(IEnumerable entities, CancellationToken ct = default); - public IReadQuery Read(Expression> expression, CancellationToken ct = default); + public IReadQuery Read(Expression> expression); public Task UpdateAsync(TDto dto, Expression> expression, CancellationToken ct = default); diff --git a/DigitalData.Core.Application/Interfaces/Repository/RepositoryExtensions.cs b/DigitalData.Core.Application/Interfaces/Repository/RepositoryExtensions.cs new file mode 100644 index 0000000..eea81c8 --- /dev/null +++ b/DigitalData.Core.Application/Interfaces/Repository/RepositoryExtensions.cs @@ -0,0 +1,14 @@ +using System.Linq.Expressions; + +namespace DigitalData.Core.Application.Interfaces.Repository; + +public static class RepositoryExtensions +{ + public static IReadQuery Where(this IReadQuery query, params Expression>[] expressions) + { + foreach (var expression in expressions) + query = query.Where(expression); + + return query; + } +} \ No newline at end of file