我在Source类中有2个属性,需要在Destination类中进行合并和更新。

我尝试如下,我将目标名称空间作为值而不是实际值。

//码

    CreateMap<Source, Destination>().ForMember(x => x.Name, opt => opt.MapFrom(y => new Destination { Name = y.FirstName + y.LastName }));


我需要将源中的FirstNameLastName属性进行组合,并在Destiantion类中将其设置为Name属性。

我哪里错了?

最佳答案

在您的ForMember调用中,xDestination类型,而ySource类型(这就是为什么它们通常被命名为dstsrc的原因)。目标成员由第一个表达式(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/

10-13 06:01