Не удается конвертировать из 'System.Guid?'Abp.Application.Services.Dto.EntityDto - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь передать Guid в метод для возврата результата из базы данных, но получаю следующее сообщение об ошибке

Не удается преобразовать из 'System.Guid?'Abp.Application.Services.Dto.EntityDto

Вот два метода Method1:

        public async Task<ListResultDto<DepartmentDto>> GetAllDepartmentAndReferrerByReferralOrganizationId(EntityDto<Guid> input)
    {
        var filteredDepartment = _departmentRepository
            .GetAll()
            .Include(r => r.Referrer)
            .Where(a => a.ReferralOrganizationId == input.Id);

        var result = await filteredDepartment
        .ToListAsync();

        var lookupTableDtoList = new List<DepartmentDto>();

        //Loop through the department
        foreach (var departmentreferrer in result)
        {
            //Loop through the referrers
            foreach (var item in departmentreferrer.Referrer)
            {
                //get referrer with the id provided
                var referrerValue = GetAllReferrers(item.ReferrerId.Value);
                lookupTableDtoList.Add(new DepartmentDto
                {
                    Name = $"Department: {departmentreferrer.Name} Referrer: {item.ReferrerId}"
                });
            }
        }

        return new ListResultDto<DepartmentDto>(ObjectMapper.Map<List<DepartmentDto>>(lookupTableDtoList));
    }

Метод 2:

        public async Task<ListResultDto<GetReferrerForView>> GetAllReferrers(EntityDto<Guid> input)
    {
        var referrer = _referrerRepository
            .GetAll()
            .Where(r => r.Id == input.Id);

        var result = await referrer
            .ToListAsync();

        return ObjectMapper.Map<ListResultDto<GetReferrerForView>>(result);
    }

ЛинияКод с проблемой, где я пытаюсь передать Guid в метод, например, GetAllReferrers (item.ReferrerId).ReferrerId является недействительным Guid, например общедоступным виртуальным Guid?ReferrerId {get;задавать;}

1 Ответ

0 голосов
/ 26 октября 2018

Вы можете создать экземпляр EntityDto<Guid> следующим образом:

var referrerValue = GetAllReferrers(new EntityDto<Guid>(item.ReferrerId.Value));
...