AutoMapper问题 - 无法获取ignore属性

时间:2016-02-27 13:42:06

标签: c# automapper

我正在试图让自动播放器忽略一个人,我希望有人可以告诉我,我正在做一些愚蠢的事情!

域模型

public class RamsDocument
{
  // properties...

}

public class Contract
{
  // properties...
  Public IColleciton<RamsDocument> RamsDocuments {get; set;}

}

查看模型

public class RamsList
{
  // properties...

}

public class Contract
{
  // properties...
  Public IList<RamsList> RamsDocuments {get; set;}

}

我已经尝试了所有组合来让它忽略RamsDocuments属性,因为你可以看到它们是不同的类型。

Mapper.CreateMap<Domain.Models.Contract, ViewModels.Contract>()
                .ReverseMap()
                .ForMember(ignore => igonre.RamsDocuments, opt => opt.Ignore())
                .ForSourceMember(ignore => igonre.RamsDocuments, opt => opt.Ignore());

我有一个方法是将视图模型上的属性重命名为RamsList而不是RamsDocuments,它可以正常工作。

如果我保留两个名为RamsDocuments的属性,则在尝试映射时会出现以下错误

  

AutoMapperMappingException:缺少类型映射配置或   不支持的映射。

     

映射类型:RamsDocuments - &gt; RamsList   CenelecSiteInspector.Domain.Models.RamsDocuments - &gt;   CenelecSiteInspector.WebPresentation.ViewModels.RamsList

     

目的地路径:   Contract.Site.Site.Contracts.Contracts.Contracts0 [0] .RamsDocuments0 [0] .RamsDocuments0 [0] .RamsDocuments0 [0]

     

来源价值:   System.Data.Entity.DynamicProxies.RamsDocuments_B721359E9A40092B947528944166EA0B12FD5C0B9E9FFD19D91C8409CF04133E

1 个答案:

答案 0 :(得分:1)

尝试将忽略置于反向映射之前,因为您忽略了单向属性。