AutoMapper代码
时间: 2024-05-14 20:18:36 浏览: 16
AutoMapper 是一个对象映射框架,可以帮助开发者快速地实现对象之间的映射。下面是一个简单的 AutoMapper 示例:
```csharp
// 定义源对象和目标对象
class Source
{
public int Id { get; set; }
public string Name { get; set; }
}
class Destination
{
public int Id { get; set; }
public string FullName { get; set; }
}
// 创建映射配置
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<Source, Destination>()
.ForMember(dest => dest.FullName, opt => opt.MapFrom(src => src.Name));
});
// 创建映射器
var mapper = config.CreateMapper();
// 使用映射器进行对象转换
var source = new Source { Id = 1, Name = "John" };
var destination = mapper.Map<Destination>(source);
Console.WriteLine(destination.Id); // 输出: 1
Console.WriteLine(destination.FullName); // 输出: John
```
在上述示例中,我们首先定义了一个源对象 `Source` 和一个目标对象 `Destination`,它们的属性名称并不完全一致。然后,我们创建了一个映射配置 `config`,通过 `CreateMap` 方法指定了如何将 `Source` 类型的对象映射到 `Destination` 类型的对象,并使用 `ForMember` 方法将 `Name` 属性映射到 `FullName` 属性。最后,我们创建了一个映射器 `mapper`,并使用 `Map` 方法将源对象转换为目标对象。
AutoMapper 还支持更高级的映射配置,例如自定义类型转换器、条件映射等功能。更多相关信息可以参考 AutoMapper 官方文档。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)