feat(repository): add extension methods for IRepository operations
- Added extensions for IRepository to support Get, Create, Update, and Delete operations. - Maintains existing IRepository<TEntity> CreateAsync methods for DTO mapping. - Improves consistency and usability across repository abstractions.
This commit is contained in:
parent
ce8e563e4e
commit
886a107c71
@ -17,4 +17,26 @@ public static class Extensions
|
||||
return repository.CreateAsync(entities, ct);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region IRepository
|
||||
public static IQueryable<TEntity> Get<TEntity>(this IRepository repository) => repository.Entity<TEntity>().Get();
|
||||
|
||||
public static Task<TEntity> CreateAsync<TEntity>(this IRepository repository, TEntity entity, CancellationToken cancel = default)
|
||||
=> repository.Entity<TEntity>().CreateAsync(entity, cancel);
|
||||
|
||||
public static Task<TEntity> CreateAsync<TEntity, TDto>(this IRepository repository, TDto dto, CancellationToken cancel = default)
|
||||
=> repository.Entity<TEntity>().CreateAsync(dto, cancel);
|
||||
|
||||
public static Task UpdateAsync<TEntity, TDto>(this IRepository repository, TDto dto, Expression<Func<TEntity, bool>> expression, CancellationToken cancel = default)
|
||||
=> repository.Entity<TEntity>().UpdateAsync(dto, expression, cancel);
|
||||
|
||||
public static Task UpdateAsync<TEntity, TDto>(this IRepository repository, TDto dto, Func<IQueryable<TEntity>, IQueryable<TEntity>> query, CancellationToken cancel = default)
|
||||
=> repository.Entity<TEntity>().UpdateAsync(dto, query, cancel);
|
||||
|
||||
public static Task DeleteAsync<TEntity>(this IRepository repository, Expression<Func<TEntity, bool>> expression, CancellationToken cancel = default)
|
||||
=> repository.Entity<TEntity>().DeleteAsync(expression, cancel);
|
||||
|
||||
public static Task DeleteAsync<TEntity>(this IRepository repository, Func<IQueryable<TEntity>, IQueryable<TEntity>> query, CancellationToken cancel = default)
|
||||
=> repository.Entity<TEntity>().DeleteAsync(query, cancel);
|
||||
#endregion
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user