提到映射大家可能会想到AutoMapper,在 .NET 领域的开发者中有非常高的知名度和使用率。而今天要提的是另外一款高性能对象映射框架:Mapster——它轻巧便捷,功能也非常强大,关键是性能很高——有可能是.NET领域性能最好的。

与 AutoMapper 相比,Mapster 在速度和内存占用方面表现更加优秀 ,下面是官方给出的稍早版本 6.0 的性能对比表:

从表中我们可以看出,即使在不使用高性能组件的情况下它的性能都可以获得4倍于AutoMapper,却只需要1/3左右的内存占用,而在使用Roslyn Compiler、FEC (FastExpressionCompiler)、Code generation等组件后可以再进一步提升2-3倍的性能。Code generation 方式几乎就是这个事儿极限了。你还有更快的手段吗?

使用方法

在包控制管理器安装Mapster

对象映射最多的场景就是两个实体定义的属性名是重叠对应的,那么此时的基本用法就非常简单:

 using Mapster;T需要映射成的实体 映射后= 原有实体.Adapt<T需要映射成的实体>();

其它更多骚操作
https://github.com/MapsterMapper/Mapster ,如果说英文阅读有点困难,可以到 https://github.com/rivenfx/Mapster-docs 看热心网友做到中文翻译版。

C# 实体映射,对象映射框架——Mapster相关推荐

  1. 可能是.NET领域性能最好的对象映射框架——Mapster

    我之前文章提到过 MediatR 的作者 Jimmy Bogard,他也是大名鼎鼎的对象映射框架 AutoMapper 的作者.AutoMapper 的功能强大,在 .NET 领域的开发者中有非常高的 ...

  2. 重磅发布:Redis 对象映射框架来了,操作大大简化!

    欢迎关注方志朋的博客,回复"666"获面试宝典 前言 最近,Redis 官方博客宣布推出四个用于 Redis 的客户端工具库:Redis OM(对象映射库,Object Mappi ...

  3. C#对象映射器之Mapster

    简介 Mapster是一个快,小巧,功能强大的对象映射.Net框架 例子 我有两个Model类且他们的属性一致,我们将 SourceObjectTest赋值给DestObjectTest该怎么做? S ...

  4. 对象映射框架MapStruct与orika的简单使用

    对象映射框架MapStruct与orika 1.介绍 1.1 MapStruct MapStruct 是一个 Java注释处理器,用于生成类型安全的 bean 映射类. 您所要做的就是定义一个映射器接 ...

  5. 叮咚,Redis OM对象映射框架来了

    叮咚,Redis OM对象映射框架来了! 一.Redis OM来了 11月23日,redis宣布了四个新的Redis高级客户端的预览版,将这些库称为Redis OM(Redis Object Mapp ...

  6. (转)Hibernate关联映射——对象的三种关系

    http://blog.csdn.net/yerenyuan_pku/article/details/70148618 Hibernate关联映射--对象的三种关系 Hibernate框架基于ORM设 ...

  7. .NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper

    好久没有写文章,工作甚忙,但每日还是关注.NET领域的开源项目.五一休息,放松了一下之后,今天就给大家介绍一个轻量级的对象映射工具Tiny Mapper:号称是.NET平台最快的对象映射组件.那就一起 ...

  8. MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM)

    类型别名(typeAliases):      作用:通过一个简单的别名来表示一个冗长的类型,这样可以降低复杂度.     类型别名标签typeAliases中可以包含多个typeAlias,如下 [ ...

  9. 基于 abp vNext 和 .NET Core 开发博客项目 - 用AutoMapper搞定对象映射

    基于 abp vNext 和 .NET Core 开发博客项目 - 用AutoMapper搞定对象映射 转载于:https://github.com/Meowv/Blog 本篇紧接着来玩一下AutoM ...

  10. AutoMapper多个对象映射到一个Dto对象

    一.定义源映射对象 为了体现AutoMapper映射特性,在SocialAttribute中的Name属性没有定义在People中,People的Ear属性也不存在与SocialAttribute和P ...

最新文章

  1. 简单介绍python装饰器
  2. JavaWeb开发环境配置
  3. 250相当于什么显卡_2K(4K)144hz显示器需要什么显卡来带? 本文将给你答案。
  4. “互联网+”非遗谋定市场化-万祥军:经信研究世屹文化
  5. php yii 插入,YII框架批量插入数据的方法
  6. 步骤6 - WebSocket服务器把请求的响应结果推送给webshop
  7. 这个年纪,喜欢你的肉体还会送你包的,原来是......
  8. 适用于Java开发人员的Elasticsearch:命令行中的Elasticsearch
  9. JavaScript学习总结(15)——十大经典排序算法的JS版
  10. ssh 远程登录_C.4 彻底解决-新版本Sentaurus TCAD的SSH远程登录问题!!!
  11. SOUI使用过程知识点小结1
  12. PDF--变清晰方法
  13. 如何把二维表转成一维表
  14. exp oracle 904,9i exp时出现ORA-904、ORA-1003的解决过程
  15. 计算机其它离的360云盘,win7系统将360云盘文件快速转移到百度云盘的方法
  16. 十进制与二进制转换(负数+正数)
  17. CAJ格式文档转PDF格式文档的办法(不需要下载杂七杂八的软件或者充会员)
  18. 互联网赚钱发展趋势,网赚案例精准分析
  19. SuperMap GIS 9D 产品白皮书v1.0
  20. Qt::Q_DECLARE_METATYPE

热门文章

  1. Linux内核多线程(四)
  2. tensorflow手动实现算法之一线性回归
  3. 1t硬盘怎么分区最好_还在用128G Macbook?699元升级1T英睿达SSD
  4. delphi 按鈕 快捷鍵 ctrl+x 無效_应用日报 | 巧用快捷指令为头像加国旗 ,Price Tag 商城抽奖送 EarPods...
  5. pg加密扩展的安装_PHP7安装已废弃的对称加密扩展mcrypt记录
  6. 安卓手机运行ios教程_安卓手机充电提示音教程
  7. 485有时候从机接收指令没反应_多动症儿童反应慢好几拍?神经递质释放速度太慢就会出现这种问题!科学训练高效提升孩子反应力!...
  8. 对接融云记录几点问题
  9. Java中创建线程池的正确方法
  10. Java设计模式4:单例模式