Automapper是一个开源的实体映射库,可以使我们在不同类型之间进行数据映射时可以轻松管理和减少代码量。以下是使用Automapper在两个不同类型之间进行映射的示例:
首先,安装Automapper NuGet程序包:
Install-Package AutoMapper
接下来,在你的应用程序中添加如下代码:
using AutoMapper;
// 定义源和目标类型 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; } }
// 创建映射器
var config = new MapperConfiguration(cfg => cfg.CreateMap
// 执行映射 var source = new Source { Id = 1, Name = "John", Age = 25 }; var mapper = config.CreateMapper();
var destination = mapper.Map
Console.WriteLine(destination.Id); // 输出 1 Console.WriteLine(destination.Name); // 输出 "John"
在上面的代码中,我们首先定义了一个源类型(Source)和目标类型(Destination),然后创建一个映射器(Mapper)并在映射器的配置中指定如何将源类型映射到目标类型。创建一个映射之后,我们可以使用映射器执行实际的映射。
在以上示例中,我们创建了一个源对象(source),将其转换为目标类型(destination),然后输出目标对象的属性值。
这只是Automapper的基本示例,它还提供了许多其他功能,例如区分大小写的属性匹配、不同类型之间的属性转换和扁平化/反扁平化。按照它的文档和API参考来学习更高级的用法。