我在Source
类中有2个属性,需要在Destination
类中进行合并和更新。
我尝试如下,我将目标名称空间作为值而不是实际值。
//码
CreateMap<Source, Destination>().ForMember(x => x.Name, opt => opt.MapFrom(y => new Destination { Name = y.FirstName + y.LastName }));
我需要将源中的
FirstName
和LastName
属性进行组合,并在Destiantion类中将其设置为Name
属性。我哪里错了?
最佳答案
在您的ForMember
调用中,x
是Destination
类型,而y
是Source
类型(这就是为什么它们通常被命名为dst
和src
的原因)。目标成员由第一个表达式(x.Name
)提供,因此在MapFrom
内部,您只需要提供要分配给该成员的源表达式:
CreateMap<Source, Destination>()
.ForMember(dst => dst.Name, opt => opt.MapFrom(src => src.FirstName + src.LastName));
关于c# - 更新Automapper中的目标属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55882520/