sto cercando di mappare utilizzando AutomapperErrore di compilazione del metodo AutoMapper .ForMember. sovraccarico valido
Qui è il mio attuale mappatura:
Mapper.CreateMap(Of NameAddress, PersonalDetails)() _
.ForMember(Function(dest) dest.Forenames, Function(opt) opt.MapFrom(Function(src) src.Forename)) _
.ForMember(Function(dest) dest.TelephoneNumber, Function(opt) opt.MapFrom(Function(src) src.TelephoneNo1)) _
.ForMember(Function(dest) dest.MobileNumber, Function(opt) opt.MapFrom(Function(src) src.MobilePhoneNo)) _
.ForMember(Function(dest) dest.NationalInsuranceNumber, Function(opt) opt.MapFrom(Function(src) src.NINo)) _
.ForMember(Function(dest) dest.DateOfBirth, Function(opt) opt.MapFrom(Function(src) src.BirthDate))
Quindi, da un oggetto di origine NameAddress, voglio mappare l'oggetto PersonalDetails destinazione. Il resto delle proprietà sia sull'origine che sulla destinazione sono le stesse, quindi le mappature non sono definite in modo esplicito.
Tuttavia quando provo a compilare utilizzando questa mappatura ottengo il seguente errore di compilazione.
Overload resolution failed because no accessible 'ForMember' can be called with these arguments:
'Public Function ForMember(name As String, memberOptions As System.Action(Of AutoMapper.IMemberConfigurationExpression(Of Infrastructure.NameAddress))) As AutoMapper.IMappingExpression(Of Infrastructure.NameAddress, Core.TaxiLicensing.PersonalDetails)': Lambda expression cannot be converted to 'String' because 'String' is not a delegate type.
'Public Function ForMember(name As String, memberOptions As System.Action(Of AutoMapper.IMemberConfigurationExpression(Of Infrastructure.NameAddress))) As AutoMapper.IMappingExpression(Of Infrastructure.NameAddress, Core.TaxiLicensing.PersonalDetails)': Expression does not produce a value.
'Public Function ForMember(destinationMember As System.Linq.Expressions.Expression(Of System.Func(Of Core.TaxiLicensing.PersonalDetails, Object)), memberOptions As System.Action(Of AutoMapper.IMemberConfigurationExpression(Of Infrastructure.NameAddress))) As AutoMapper.IMappingExpression(Of Infrastructure.NameAddress, Core.TaxiLicensing.PersonalDetails)': Expression does not produce a value.
Cosa mi manca? La mia mappatura è errata? Sembra che stia tentando di utilizzare un sovraccarico della funzione che non intendo utilizzare.
odio vb per questo, C# è stato così divertente! – Muds
Solo per salvare gli altri dalla ricerca frenetica della differenza: utilizza "Sub" anziché "Function" con il parametro "opt" –