5
如何覆盖AutoMapper为给定属性使用的类型转换器?如何使用AutoMapper为给定属性指定特定类型转换器
举例来说,如果我有:
public class Foo
{
public string Name { get; set; }
}
public class Bar
{
public string Name { get; set; }
}
现在我只是想映射Foo.Name到Bar.Name但使用指定的类型转换器。我看我如何使用它:
Mapper
.CreateMap<Foo,Bar>()
.ForMember(x => x.Name, opt => opt.ResolveUsing<FooNameResolver>());
但是,这个硬编码的转换使用Foo的名称属性。如果我在这个或其他类中的其他属性上具有相同类型的转换,则必须为每个类创建一个解析器类。
而且我不想为string - > string指定一个转换器,因为此转换特定于此属性或其他类似对象。
我只是想重写类型转换器!我敢肯定,这一定是可能的,但我冲它:-(
这样的事情后,我:
Mapper
.CreateMap<Foo,Bar>()
.ForMember(x => x.Name, opt => opt.Using<MySpecialStringConverter>());