I encounter issue in statement query able join between 2 tables, TblRequestTransfer
and TblRequestTransferDetail
.
My code:
using Api.Domain.Entity;
using Nest;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Api.App.Application.Query.Handler.RequestTransfer
{
public class GetListItemIdRequestTransferQuery : IQueryBase<List<decimal>>
{
public decimal? id {get;set;}
}
public class GetListItemIdRequestTransferQueryHandler : IRequestBaseHandler<GetListItemIdRequestTransferQuery, List<decimal>>
{
public readonly IRepositoryService _repositoryService;
public readonly IMapper _mapper;
public GetListItemIdRequestTransferQueryHandler(IMapper mapper)
{
_repositoryService = EngineContext.Current.Resolve<IRepositoryService>(DataConnectionHelper.ConnectionStringNames.Pos)
?? throw new ArgumentNullException(nameof(_repositoryService));
_mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
}
public async Task<List<decimal>> Handle(GetListItemIdRequestTransferQuery request, CancellationToken cancellationToken)
{
if (request is null)
{
throw new BaseException("Yêu cầu không hợp lệ");
}
var query = await (from src in _repositoryService.Table<TblRequestTransfer>()
where src.Id == request.id
join detail in _repositoryService.Table<TblRequestTransferDetail>()
on src.Id equals detail.RequestId
select new
{
detail.ItemId
})
.AsNoTracking()
.ToListAsync(cancellationToken);
return query.Select(src => src.ItemId).ToList();
}
}
}
[issue 1] I try run and then input id of requestTranfer
.
But counter equals 0
[issue 2] The method handler, which not successfully return value query, even though it’s default type list decimal? ItemId