AutoMapper 2.2.1では、プロパティが明示的に無視されないときに例外がスローされるようにマッピングを設定する方法はありますか?例えば、私は以下のクラスと構成を持っている:ソースプロパティがマップされていないときの強制スロー例外
public class Source
{
public int X { get; set; }
public int Y { get; set; }
public int Z { get; set; }
}
public class Destination
{
public int X { get; set; }
public int Y { get; set; }
}
// Config
Mapper.CreateMap<Source, Destination>();
私はこの構成では受信動作がDestination.X
とDestination.Y
プロパティが設定されていることです。さらに、設定をテストすると:
Mapper.AssertConfigurationIsValid();
私はマッピングの例外を受け取りません。私がしたいのは、Source.Z
が明示的に無視されないので、AutoMapperConfigurationException
がスローされるということです。現在
Mapper.CreateMap<Source, Destination>()
.ForSourceMember(m => m.Z, e => e.Ignore());
、AutoMapper をが例外をスローしません:私は持っていることを明示的に例外なしで実行するようにAssertConfiguartionIsValid
ためにZプロパティを無視するよう
は、私はそれをしたいと思います。 Ignore
を明示的に指定しないと例外がスローされます。これどうやってするの?ここ
ソースメンバーのマッピングが 'TypeMap'に公開されていないのは残念です。 –
@MikeBanteguiはあなたに完全に同意します。答えの最初の編集では、私は単に 'GetPropertyMaps()'を使いましたが、どちらのソースマッピングもここにはなかったし、ソースマッピングもTypeMapのpublicプロパティとして公開されていなかったことは驚きでした –