C# 定义映射数组
我有两门课:C# 定义映射数组,c#,arrays,automapper,C#,Arrays,Automapper,我有两门课: public class Customer { public string FirstName { get; set; } public string LastName { get; set; } }; public class Customer_ { public string FirstNam { get; set; } public string LastNam { get; set; } } 还有我的类的一个实例Customer:
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
};
public class Customer_
{
public string FirstNam { get; set; }
public string LastNam { get; set; }
}
还有我的类的一个实例Customer
:
Customer[] Customer = new Customer[]
{
new Customer()
{
FirstName = "FirstName1",
LastName = "LastName1"
},
new Customer()
{
FirstName = "FirstName2",
LastName = "LastName2"
}
};
我想将我的对象客户映射到我的对象客户的一个实例
我使用Automapper:
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<Customer, Customer_>();
});
IMapper mapper = config.CreateMapper();
var dest = mapper.Map<Customer[], Customer_[]>(Customer);
怎么做?这篇文章的轮廓相当清晰
由于目标属性的名称与源属性不完全匹配…,我们需要在类型映射配置中指定自定义成员映射:
cfg.CreateMap()
.ForMember(dest=>dest.FirstNam,opt=>opt.MapFrom(src=>src.FirstName))
.ForMember(dest=>dest.LastNam,opt=>opt.MapFrom(src=>src.LastName))
请注意,如果需要,还必须显式映射到另一个方向。为什么第二种类型中的属性拼写不同?对于测试Automapper:)
Customer[] Customer = new Customer[]
{
new Customer()
{
FirstName = "FirstName1",
LastName = "LastName1",
Quantity = 11
},
new Customer()
{
FirstName = "FirstName2",
LastName = "LastName2",
Quantity = 5
}
};
cfg.CreateMap<Customer, Customer_>()
.ForMember(dest => dest.FirstNam , opt => opt.MapFrom(src => src.FirstName))
.ForMember(dest => dest.LastNam , opt => opt.MapFrom(src => src.LastName))