18.AutoMapper 之條件映射(Conditional Mapping)

 

條件映射(Conditional Mapping)

AutoMapper 容許你給屬性添加條件,只有在條件成立的狀況下該成員纔會被映射。javascript

這能夠用在嘗試將int 映射到 無符號 int的狀況下。java

class Foo{ public int baz; } class Bar { public uint baz; } 

在如下映射中屬性baz只有在源屬性baz大於等於零的狀況下才會被映射。app

Mapper.Initialize(cfg => { cfg.CreateMap<Foo,Bar>() .ForMember(dest => dest.baz, opt => opt.Condition(src => (src.baz >= 0))); }); 

前提條件

相似的還有一個前提條件。不一樣之處在於它比映射處理運行的更早,在源值解析以前(想一想MapFrom 或者 ResolveUsing)。前提條件被調用以後,再解析映射的源是哪一個,而後條件被調用本身完成目標值得分配。ui

相關文章
相關標籤/搜索