使用不同的实体转换返回类型

时间:2012-10-24 20:16:01

标签: c# asp.net-mvc

这是我的方法,我想投我的回报 - 我也这样做是为了防止我改变我的不同方法,并且也想知道如果我的回归会对此产生任何负面影响吗?

public VisitEntry Get(Guid visitEntryId)
    {
        var visitEntry = _visitEntryRepository.Get(visitEntryId);
        VisitEntryDTO dto = AutoMapper.Mapper.Map<VisitEntry, VisitEntryDTO>(visitEntry);
        dto.CasePartyIds =
            _casePartyService.GetAllForHearingEntry(visitEntryId).Select(caseParty => caseParty.CasePartyId).ToList();
        return dto;
    }

我得到的错误是:return dto。说明:我无法将实体.VisitEntryDTO转换为... Entity.VisitEntry。

任何澄清都会很棒。谢谢!

1 个答案:

答案 0 :(得分:1)

您可能无法直接从VisitEntryDTO投射到VisitEntry。你需要自动回传。

但是,您的存储库似乎已经返回VisitEntry个对象,那么为什么要首先映射到VisitEntryDTO?为什么不这样做:

public VisitEntry Get(Guid visitEntryId)
{
    var visitEntry = _visitEntryRepository.Get(visitEntryId);
    visitEntry.CasePartyIds =
        _casePartyService.GetAllForHearingEntry(visitEntryId).Select(caseParty => caseParty.CasePartyId).ToList();
    return visitEntry;
}

除非我遗漏了你的VisitEntry课程。