.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跨平台或扫描二维码关注