【发布时间】:2012-06-26 10:17:27
【问题描述】:
我刚刚开始为我的实体映射(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; }
}
现在,我需要从 Repository 查询 IncidentDTO。
使用 ValueInjecter 从数据库中查询 Incident 和 AgencyIncidentType 表并映射 Incident -> IncidentDTO 并返回 IncidentDTO。
使用 ValueInjecter 进行上述映射的最佳方法是什么?
谢谢, 普拉提克
【问题讨论】:
-
看看prodinner.codeplex.com,它使用 valueinjecter 来完成与你正在做的完全相同的事情,它还有一个 pdf 解释
-
谢谢查克!!这正是我正在寻找的,
ConventionInjection用于IEnumerable类型....另外@Gloppy 的回答指出我深度克隆+ConventionInjection for IEnumerable所以我将其标记为答案.. 谢谢大家的帮助!和 Chuck 让对象-对象映射变得如此简单..;)
标签: c# dto valueinjecter object-object-mapping