1

私は2つのオブジェクトを持っています:

public class Info
{
   public string ArtificialPerson {get; set;}
   ...
}

public class DtoInfo
{
   public string FullName {get; set;}
   public bool IsLegal {get; set;}
}

次のことを行いたいのですが、IsLegaltrueの場合はにマップFullNameArtificialPersonます。これどうやってするの?
ありがとう

4

1 に答える 1

3

いくつかのマッピング構成を設定する必要があります:

        Mapper.CreateMap<DtoInfo, Info>().ForMember(info => info.ArtificialPerson, configExpr => 
        { 
            configExpr.MapFrom(dtoInfo => dtoInfo.FullName);
            configExpr.Condition((DtoInfo dtoInfo) => dtoInfo.IsLegal);
        });

        var info1 = Mapper.Map<Info>(new DtoInfo
        {
            FullName = "Lemons",
            IsLegal = true
        });

        Console.WriteLine(info1.ArtificialPerson); // displays "Lemons"

        var info2 = Mapper.Map<Info>(new DtoInfo
        {
            FullName = "Cocaine",
            IsLegal = false
        });

        Console.WriteLine(info2.ArtificialPerson); // displays null string
于 2013-01-25T06:37:04.503 に答える