Mar*_*inS 8 automapper automapper-5
以前当我使用Automapper v3.x时,忽略未映射的属性可以通过简单地添加一个.IgnoreUnmappedProperties()看起来像这样的扩展来完成
public static class AutoMapperExtensions
{
public static IMappingExpression<TSource, TDestination> IgnoreUnmappedProperties<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression)
{
var typeMap = Mapper.FindTypeMapFor<TSource, TDestination>();
if (typeMap != null)
{
foreach (var unmappedPropertyName in typeMap.GetUnmappedPropertyNames())
{
expression.ForMember(unmappedPropertyName, opt => opt.Ignore());
}
}
return expression;
}
}
Run Code Online (Sandbox Code Playgroud)
如何重写此扩展以与V5.x一起使用.我当然可以为每个属性添加以下内容.
.ForMember(dest => dest.LastUpdatedBy, opt => opt.Ignore())
Run Code Online (Sandbox Code Playgroud)
或不打电话
Mapper.AssertConfigurationIsValid();
Run Code Online (Sandbox Code Playgroud)
小智 10
您可以使用新的CreateMap方法参数执行此操作,并指定所需的验证.
CreateMap<TSource, TDestination>(MemberList.None)Run Code Online (Sandbox Code Playgroud)
该MemberList.None应该做的伎俩.您还可以在源验证或目标验证之间切换.
| 归档时间: |
|
| 查看次数: |
5168 次 |
| 最近记录: |