// 定义源类型
public class Source
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
// 定义目标类型
public class Destination
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string OtherProperty1 { get; set; }
public string OtherProperty2 { get; set; }
}
// 创建映射配置
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap()
.ForMember(dest => dest.OtherProperty1, opt => opt.MapFrom(src => src.Name))
.ForMember(dest => dest.OtherProperty2, opt => opt.MapFrom(src => src.Age.ToString()));
});
// 创建映射器
var mapper = config.CreateMapper();
// 获取源数据
var sourceData = new List
{
new Source { Id = 1, Name = "John", Age = 25 },
new Source { Id = 2, Name = "Mary", Age = 30 }
};
// 使用ProjectTo方法进行映射
var destinationData = sourceData.AsQueryable().ProjectTo(mapper.ConfigurationProvider).ToList();