.NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践
晚上浏览博客园 看到一篇非常实用的博客:.NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper,花了10分钟简单了解了一下。
看评论也是挺有价值,同时也看到许多新手同学问道在实际项目中使用的情况。
下面就原作者的代码的基础上略作调整,阐述一下在实际项目场景中的使用:
第一步:了解类库方法:TinyMapper 主要有两个函数:
TinyMapper.Bind<T1, T2>();//绑定映射关系
TinyMapper.Map<T>(obj);//从对象获取想要的对象
第二步:初始化Mapping设置
说明:类似的Mapping设置无非两种模式:代码静态对象初始化模式,xml配置模式,很荣幸TinyMapper支持的是静态字典。
说明:以上mapping映射中,针对于原作者的代码,额外添加了:由PersonDto=》Person的映射关系。
T GetMapObject<T>(object obj) where T:class 的作用会在后面的代码中体现出来。 简单一个方法,威力不可小嘘~~
第三步:DtoModel -》Model
从数据库模型映射到领域模型:
var p = TinyMapContext.GetMapObject<Person>(personDto);
第四步:Model-》DtoModel
从领域模型到数据库模型:
var personDto = TinyMapContext.GetMapObject<PersonDto>(person);
第五步:List<Model>=>List<DtoModel> 或者List<DtoModel>=>List<Model>
特别说明:对于获取列表类型的对象,不需要在静态初始化映射中额外添加 IList类型的对象。 TinyMapper会自动按照"映射过的基础类型"动态的帮你获取想要的数据。
本文的代码:示例
说明:代码浅显易懂,然人非完人,编码不规范的地方、手误、或代码存在缺陷、或严重性能问题,希望园友们批评指正。
Tiny Mapper官方网站:http://tinymapper.net/
github项目地址:https://github.com/TinyMapper/TinyMapper
原文地址:http://www.cnblogs.com/cdemo/p/5457065.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
.NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践相关推荐
- .NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper
好久没有写文章,工作甚忙,但每日还是关注.NET领域的开源项目.五一休息,放松了一下之后,今天就给大家介绍一个轻量级的对象映射工具Tiny Mapper:号称是.NET平台最快的对象映射组件.那就一起 ...
- .NET平台开源项目速览(8)Expression Evaluator表达式计算组件使用
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下Expression Evaluator验证组件.那里只是概述了一下,并没有对其使用和强大功能做 ...
- .NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用
原文:.NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用 在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了 ...
- .NET平台开源项目速览(2)Compare .NET Objects对象比较组件
原文:.NET平台开源项目速览(2)Compare .NET Objects对象比较组件 .NET平台开源项目速览今天介绍一款小巧强大的对象比较组件.可以更详细的获取2个对象的差别,并记录具体差别,比 ...
- .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB
今天给大家介绍一个不错的小巧轻量级的NoSQL文件数据库LiteDB.本博客在2013年也介绍过2款.NET平台的开源数据库: 1.[原创]开源.NET下的XML数据库介绍及入门 2.[原创]C#开源 ...
- .NET平台开源项目速览(1)SharpConfig配置文件读写组件
原文:.NET平台开源项目速览(1)SharpConfig配置文件读写组件 在.NET平台日常开发中,读取配置文件是一个很常见的需求.以前都是使用System.Configuration.Config ...
- .NET平台开源项目速览(17)FluentConsole让你的控制台酷起来
从该系列的第一篇文章 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 开始,不知不觉已经到第17篇了.每一次我们都是介绍一个小巧甚至微不足道的.NET平台的开源软件,或者学习,或 ...
- .NET平台开源项目速览(11)KwCombinatorics排列组合使用案例(1)
阅读目录 1.KwCombinatorics基本介绍 2.足球彩票排列组合应用 3.排列组合生成代码与测试 今年上半年,我在KwCombinatorics系列文章中,重点介绍了KwCombinator ...
- .NET平台开源项目速览(4).NET文档生成工具ADB及使用
.NET平台开源项目速览(4).NET文档生成工具ADB及使用 原文:.NET平台开源项目速览(4).NET文档生成工具ADB及使用 很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习 ...
最新文章
- BT656与BT1120那点事
- Spring与其他Web框架集成
- 如何创建一个完美的单例模式
- ajax post参数长度限制,Ajax中的POST数据大小是否有限制?
- apache mod_xsendfile提高php文件下载速度的方法
- Split-Bregman迭代方式
- 【翻译】sql注入方式
- 分享一个检测用户是否用手机(Mobile)访问网站的 PHP 类
- [Django学习] Django基础(8)_富文本编辑器
- linux下cmake使用教程,超详细的cmake教程
- spyder安装matplotlib
- vs2019 IIS Express Web服务器无法启动
- 数据地图在商业数据分析中的5种应用
- 亚像素边缘检测提取算法的实现
- go语言如何使用指针?
- 刷脸支付的场景应用遍布大街小巷
- C# 身份证读卡器开发
- 创始人、CEO、总裁和董事长到底谁更大?
- spark on k8s:apache YuniKorn(Incubating)的助力
- 辉芒微FT61F023,FT61F011A