Ich aktualisiere AutoMapper in einem Projekt, Konvertierung von der statischen Mapper.CreateMap
auf die neue Weise und eine IMapper
Injektion, wo ich zuordnen muss.Verwenden Sie Automapper in ITypeConverter
Das funktioniert gut, außer für einen Anwendungsfall. Ich habe mehrere ITypeConverter
s für komplexe Zuordnung, die die Mapper.Map
Funktion verwenden. Wie kann ich das beheben? Unten ist der Code, den ich gerade benutze. Die statische Mapper.Map
kann meine definierten Zuordnungen nicht finden, da sie nicht mit der statischen Methode erstellt werden.
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;
}
}
vielen Dank für die Freigabe Ihres gelösten Problems –
gibt es eine Möglichkeit, IMapper-Instanz innerhalb von Ctor zu verwenden? –
@AmelSalibasic injizieren es? – Thijs