我有深层嵌套的集合,它们都实现了一个接口:
public ICmsAware
{
DateTime? InactiveDate { get; set; }
}
所以具体的类看起来像:
public class Parent : ICmsAware
{
public List<Child> Children { get; set; }
public DateTime? InactiveDate { get; set; }
}
public class Child : ICmsAware
{
public List<GrandChild> GrandChildren { get; set; }
public DateTime? InactiveDate { get; set; }
}
public class GrandChild : ICmsAware
{
public DateTime? InactiveDate { get; set; }
}
我想用automapper做的是在每个映射上使用扩展方法来忽略InactiveDate.HasValue == true
e.g。
Mapper.CreateMap<Parent, ParentViewModel>().IgnoreInactiveItem();
Mapper.CreateMap<Child, ChildViewModel>().IgnoreInactiveItem();
Mapper.CreateMap<GrandChild, GrandChildViewModel>().IgnoreInactiveItem();
我发现的任何与此场景远程相似的例子都忽略了实体的属性,而不是整个实体本身。