从AutoMapper 4移动到6
在ITypeConverter中,我们如何访问父上下文,因此我们知道版本4中正在填充的属性:
context.PropertyMap.DestinationProperty
以下是可能的:
public class UserDetailsConvertor : ITypeConverter<OAuthProfile, UserDetials>
{
public Dto.Accounts.UserDetials Convert(ResolutionContext context)
{
var src = context.SourceValue as OAuthProfile;
if (src == null) return null;
if (!context.PropertyMap.DestinationProperty.Name.Contains("Internal"))
{
return new UserDetials()
{
Id = src.Id
};
}
if (src.InternalAccountId.IsNullOrEmpty())
{
return null;
}
return new UserDetials()
{
Id = src.InternalAccountId
};
}
}
请注意,用户详细信息正在映射到上述条件逻辑正在整理的2个属性(内部和提供者)。
在V6中,这不是我能看到的,有一个项集合,但这似乎包含整个映射(所有对象)的信息
答案 0 :(得分:1)
这一切都消失了。捕获并在任何地方传递这种情况非常昂贵。您可能希望改为查看成员解析器。