kho*_*vat 7 c# mapping automapper automapper-3
我试图忽略源类型的属性.我已经定义了这样的映射:
var map = AutoMapper.Mapper.CreateMap<Article, IArticle>();
map.ForSourceMember(s => s.DateCreated, opt => opt.Ignore());
map.ForSourceMember(s => s.DateUpdated, opt => opt.Ignore());
Run Code Online (Sandbox Code Playgroud)
当我调用Map功能时,
AutoMapper.Mapper.Map(article, articlePoco);
Run Code Online (Sandbox Code Playgroud)
无论如何,目的地的属性都会更新.我正在使用从NuGet下载的最新稳定版本.
任何想法为什么这不起作用?
我发现了类似的问题,但没有答案.[问题]:AutoMapper的Ignore()不起作用?
更改映射以使用ForMember:
map.ForMember(s => s.DateCreated, opt => opt.Ignore());
map.ForMember(s => s.DateUpdated, opt => opt.Ignore());
Run Code Online (Sandbox Code Playgroud)
如果您要忽略的属性仅存在于源对象中,那么您可以MemberList.Source
结合 option 方法DoNotValidate()
。见下文:
CreateMap<IArticle, Article>(MemberList.Source)
map.ForSourceMember(src => src.DateCreated, opt=> opt.DoNotValidate());
map.ForSourceMember(src => src.DateUpdated, opt => opt.DoNotValidate());
Run Code Online (Sandbox Code Playgroud)
如果您正在使用AssertConfigurationIsValid
并希望忽略某些源属性的验证,这是完美的。
归档时间: |
|
查看次数: |
2357 次 |
最近记录: |