Я обновляю AutoMapper в проекте, преобразовывая его из статического Mapper.CreateMap
в новый способ и вводя IMapper
, где мне нужно сопоставить.Использовать Automapper в ITypeConverter
Это замечательно, за исключением одного случая использования. У меня есть несколько ITypeConverter
s для комплексного отображения, которые используют функцию Mapper.Map
. Как я могу это исправить? Ниже приведен код, который я использую в данный момент.
Статические Mapper.Map
не могут найти мои определенные сопоставления, потому что они не создаются с использованием статического метода.
public partial class ApplicationMappingsProfile
{
private void RegisterMappings()
{
CreateMap<Application, AppDto>()
.ConvertUsing<ApplicationTypeConverter>();
}
}
private class ApplicationTypeConverter : ITypeConverter<App, AppDto>
{
public AppDto Convert(ResolutionContext context)
{
var src = context.SourceValue as App;
if (src == null)
{
return null;
}
var dto = Mapper.Map<App, AppDto>(src);
dto.property = Mapper.Map<Property>(src.SomeProperty);
return result;
}
}
Благодарим вас за обмен решаемой проблемой –
Есть ли способ использовать экземпляр IMapper внутри ctor? –
@AmelSalibasic вводят его? – Thijs