Ich habe Entität Request
und Modell RequestModel
AutoMapper .ForMember abhol
public class RequestModel : BaseModel
{
public IEnumerable <int> Recipients { get; set; }
}
public class Request : IIdent
{
public virtual ICollection <RequestComment> Comments { get; set; }
}
public class RequestComment : IIdent
{
[ForeignKey("User")]
public int? UserId { get; set; }
}
I-Mapping wollen für Recipients
CreateMap<Request, RequestModel>()
.ForMember(d => d.Recipients, o => o.MapFrom(s => s.Comments.Select(x => x.UserId)))
schaffen, aber ich Ausnahme:
AutoMapper.AutoMapperMappingException wurde abgefangen _HResult = -2146233088 HResult = -2146233088 IsTransient = false Message = Mapping-Typen: Request -> IEnumerable
AttManager.Data.Request1 AttManager.Data.Request -> System.Collections.Generic.IEnumerable
1 [[System.Int32 Mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089]] Pfad Reiseziel: RequestModel.Recipients.Recipients Quelle Wert:
Danke! Der erste Weg funktioniert gut, aber mit 2. Ich habe einige Probleme .. Ich bekomme auch eine Ausnahme in der Zuordnung. Soll ich Code wie '.ForMember (d => d.Recipients, o => o.PreserveAndIgnore())' vor der Verwendung von '.AfterMap()'? – demo
@demo: Ich habe gerade In-Memory mit einzelnen Karten getestet, aber wenn Sie abfragbare Projektionen verwenden, ist 'AfterMap' keine Option, sorry dafür. –