不忽略Automapper中未使用的属性的后果是什么?

时间:2011-10-28 18:20:35

标签: c# asp.net-mvc-3 automapper

假设我有一个像这样的域对象:

public class Product
{
   public int Id {get;set;}
   public string Name {get;set;}
   public string Description {get;set;}
   public int DisplayOrder {get;set;}
   //Lots of other properties
}

但是,对于我的观点,我想使用两种不同的视图模型,它们使用产品类的不同属性。

public class ProductViewModel1
{
   public int Id {get;set;}
   public string Name {get;set;}
   //A mix of some of the other properties
}
public class ProductViewModel2
{
   public int Id {get;set;}
   public string Description {get;set;}
   //A different mix of the other properties
}

对于Automapper:

Mapper.CreateMap<Product, ProductViewModel1>();
Mapper.CreateMap<Product, ProductViewModel2>();

问题(S): 是否有必要将所有被忽略的属性添加到CreateMap?如果不在较大的对象上进行,是否会产生很大的开销?感谢。

1 个答案:

答案 0 :(得分:1)

它没有必要,但是当您对映射进行单元测试(或在运行时断言以确保它们是准确的)时,Ignores是成功所必需的。

Mapper.AssertConfigurationIsValid();

您可以在此处阅读有关验证AutoMapper配置是否正确的更多信息:

http://automapper.codeplex.com/wikipage?title=Configuration%20Validation