3

我刚刚开始为我的实体映射(DTO <-> 实体)使用 ValueInjecter。这是我的 DTO:

public class IncidentDTO
{
    int ID { get; set; }
    string Name { get; set; }
    AgencyDTO agencyDTO { get; set; }
}

public class AgencyDTO
{
    int ID { get; set; }
    string Name { get; set; }
    List<IncidentTypeDTO> incidentTypeDTOList { get; set; }
}

public class IncidentTypeDTO
{
    int ID { get; set; }
    string TypeName { get; set; }
}

这是我的 NHibernate 代理类:

 public class Incident
{
    int ID { get; set; }
    string Name { get; set; }
    Agency agency { get; set; }
}

public class Agency
{
    int ID { get; set; }
    string Name { get; set; }
}

public class IncidentType
{
    int ID { get; set; }
    string TypeName { get; set; }
}

public class AgencyIncidentType
{
    int ID { get; set; }
    Agency agency { get; set; }
    IncidentType incidentType { get; set; }
}

现在,我需要IncidentDTO从存储库中查询。来自数据库和地图的存储库查询Incident和表->使用 ValueInjecter 并返回。AgencyIncidentTypeIncidentIncidentDTOIncidentDTO

使用 ValueInjecter 进行上述映射的最佳方法是什么?

谢谢, 普拉泰克

4

1 回答 1

4

如果您想映射IncidentIncidentDTO同时保留和映射实例Agencyagency属性(到AgencyDTO)中的对象,Incident我建议将agencyDTO属性重命名为agency您的IncidentDTO,然后使用 Value Injector 文档中的 CloneInjection 示例进行调整,如下所述:omu.valueinjecter 深度克隆不同类型

于 2012-06-25T17:24:57.893 回答