【发布时间】:2010-12-13 11:31:45
【问题描述】:
我有一个像这样的平面域类:
public class ProductDomain
{
public int ID { get; set; }
public string Manufacturer { get; set; }
public string Model { get; set; }
public string Description { get; set; }
public string Price { get; set; }
}
我有两个这样的 DTO 类:
public class ProductInfoDTO
{
public int ID { get; set; }
public string Manufacturer { get; set; }
public string Model{ get; set; }
}
public class ProductDTO : ProductInfoDTO
{
public string Description { get; set; }
public string Price { get; set; }
}
现在的问题是:
场景 #1:
Mapper.CreateMap<ProductDomain, ProductInfoDTO>() // this mapping works fine
场景 #2:
Mapper.CreateMap<ProductDomain, ProductDTO>() // this mapping is not working and throws System.TypeInitializationException
所以我的问题是如何在 ProductDomain 和 ProductDTO(继承 ProductInfoDTO)之间创建映射,而不破坏源类和目标类的定义。此外,我不想为域类 ProductDomain 引入任何新的继承。
谢谢
【问题讨论】:
-
您的代码中一定有其他内容。我将上面的代码复制/粘贴到一个项目中,它运行得很好。我什至创建了一个示例 ProductDomain 对象,并将数据映射到 ProductDTO 没有任何问题。
标签: dns automapper dto