Repository
The ubiquitous repository pattern as it is implemented by RCommon.
public class DeleteLeaveRequestCommandHandler : IRequestHandler<DeleteLeaveRequestCommand>
{
private readonly IFullFeaturedRepository<LeaveRequest> _leaveRequestRepository;
public DeleteLeaveRequestCommandHandler(IFullFeaturedRepository<LeaveRequest> leaveRequestRepository)
{
this._leaveRequestRepository = leaveRequestRepository;
this._leaveRequestRepository.DataStoreName = "LeaveManagement";
}
public async Task<Unit> Handle(DeleteLeaveRequestCommand request, CancellationToken cancellationToken)
{
var leaveRequest = await _leaveRequestRepository.FindAsync(request.Id);
if (leaveRequest == null)
throw new NotFoundException(nameof(LeaveRequest), request.Id);
await _leaveRequestRepository.DeleteAsync(leaveRequest);
return Unit.Value;
}
}Persistence Features
Feature
Graph Mapper
Linq Mapper
SQL Mapper
Supported Object Relational Mappers (ORMs)
ORM
Graph Mapper
Linq Mapper
SQL Mapper
Last updated