AutoMapper在MVC中的运用小结

配置、单元测试、AOP注入 
Decimal转换成String类型 
源数组转换成目标数组   
源中的集合(数组)属性转换成目标中的集合(数组)属性
子类父类间的映射 
源字典集合转换成目标字典集合 
枚举映射
自定义解析器  
源中的复杂属性和Get...方法转换成目标属性 
类型转换,源string类型分别转换成int, DateTime,Type  
源和目标都包含复杂类型属性
把源中的一个属性映射到目标中的多个属性 
动态实现接口方法或属性 
目标中的属性如果比源多,可以忽略多出的属性
目标有virtual属性,可忽略
目标属性值为null的解决办法
int转string
bool转string
DateTime转String
判断条件
当源和目标具有同名的复杂类型属性、集合类型属性,这2种属性对应的类间也需建立映射 
一次性定义好源和目标的所有映射
一次性定义好源和目标的所有映射,目标中有复杂类型属性
一次性定义好源和目标的所有映射,目标中有复杂类型属性,为复杂类型创建自定义解析器
显示所有订单 
显示客户信息
显示订单,但不显示view model OrderDto中的集合导航属性
把源中的DateTime类型转换成int类型
把源中的bool类型转换成string类型

把源中的集合导航属性IEnumerable<OrderItems> LineItems转换成目标中的计算数量的string类型



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AutoMapper是一个用于对象映射的开源库。它可以帮助简化对象之间的转换过程,减少手动编写重复的代码。通过配置映射规则,AutoMapper可以自动将一个对象的属性值复制到另一个对象对应的属性上,而不需要手动逐个属性进行赋值。 使用AutoMapper,你可以定义映射规则,包括源类型和目标类型以及它们之间的属性映射关系。一旦配置好映射规则,你可以使用简单的API将源对象映射到目标对象上。 以下是一个使用AutoMapper的示例: ```csharp // 定义源类型和目标类型 public class SourceObject { public string Name { get; set; } public int Age { get; set; } } public class DestinationObject { public string Name { get; set; } public int Age { get; set; } } // 配置映射规则 var config = new MapperConfiguration(cfg => { cfg.CreateMap<SourceObject, DestinationObject>(); }); // 创建映射器 var mapper = config.CreateMapper(); // 创建源对象 var source = new SourceObject { Name = "John", Age = 30 }; // 使用映射器进行对象映射 var destination = mapper.Map<SourceObject, DestinationObject>(source); // 输出目标对象属性值 Console.WriteLine(destination.Name); // 输出:John Console.WriteLine(destination.Age); // 输出:30 ``` 通过使用AutoMapper,你可以简化对象之间的映射过程,提高开发效率。它支持各种复杂的映射场景,并且可以通过自定义转换器来处理更复杂的映射逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值