C# 如何将多个对象映射到包含源对象作为属性的单个对象?
我有如下型号C# 如何将多个对象映射到包含源对象作为属性的单个对象?,c#,automapper,C#,Automapper,我有如下型号 public class MainModel { public object1 Property1{get; set;} public object2 Property2{get; set;} public object3 Property3{get; set;} } Public class object1{ /// few properties; } Public class object2{ /// few properties;
public class MainModel
{
public object1 Property1{get; set;}
public object2 Property2{get; set;}
public object3 Property3{get; set;}
}
Public class object1{
/// few properties;
}
Public class object2{
/// few properties;
}
Public class object3{
/// few properties;
}
现在,如何使用AutoMapper将这些多个对象映射到MainModel?Mapper.CreateMap()
Mapper.CreateMap<object1, MainModel>()
.ForMember(x => x.Property1, y => y.MapFrom(src => src));
Mapper.CreateMap<object2, MainModel>()
.ForMember(x => x.Property2, y => y.MapFrom(src => src));
Mapper..CreateMap<object3, MainModel>()
.ForMember(x => x.Property3, y => y.MapFrom(src => src));
object1 obj1 = new object1();
object2 obj2 = new object2();
object3 obj3 = new object3();
MainModel mm = AutoMapper.Mapper.Map<MainModel>(obj1);
mm = AutoMapper.Mapper.Map(obj2, mm);
mm = AutoMapper.Mapper.Map(obj3, mm);
.ForMember(x=>x.Property1,y=>y.MapFrom(src=>src));
Mapper.CreateMap()
.ForMember(x=>x.Property2,y=>y.MapFrom(src=>src));
Mapper..CreateMap()
.ForMember(x=>x.Property3,y=>y.MapFrom(src=>src));
object1 obj1=新的object1();
object2 obj2=新的object2();
object3 obj3=新的object3();
MainModel mm=自动映射器映射器映射(obj1);
mm=自动映射器映射器映射(obj2,mm);
mm=自动映射器映射器映射(obj3,mm);
它的可能副本与Patrick类似,但上述解决方案在我的情况下不起作用,因为我需要将object1、object2和object3映射到MainModel。在给定的情况下,它们映射两个对象,这两个对象的属性组合在主模型属性中。我不明白为什么另一个答案不起作用。您能否给出一个具体的例子,说明您无法使用的真实源对象(或多个对象)和真实目标对象?这是获得帮助的最好方式。