autoMapper-- 无缘也成有缘(一)
来源:互联网 发布:pi实时数据库官网 编辑:程序博客网 时间:2024/04/27 18:02
与autoMapper是在做高效平台项目一开始的时候某某同学极力推荐我看的,看了以后感觉这个东西可真的很好使,下面就分享给大家!
先介绍一下它的产生背景,结合我现在在做的项目来说,这个项目的前台用的是MVC,后台用的是WCF+三层+工厂+反射,看上去很高大上的样纸 ~~,于是开始了冲动的代码之旅,可是在写数据契约的时候发现了EF中生成的实体我用到了可能很多,于是写啊~复制啊~粘贴啊~原以为很霜,全部纯手工打造,可是遇到了AutoMapper,我后悔~莫及~~
在看大神们博客的过程中,发现了一种叫做贫血模型的,其实也就是我们的数据表映射处理出来的实体模型,这种模型只有固定数量的属性,如果你想用多个模型中的属性时,就会山路十八弯了,举个例子
如果把Entity Framework比作机关枪,那实体类的属性就是子弹,每颗子弹只能攻击唯一对应的目标,在射击过程中,只要有一颗子弹攻击的目标不存在,机枪就会卡壳(子弹决定目标?)。这时,Entity Framework成为了一堆废铁。
为什么不由目标决定子弹?出现什么目标,用什么子弹,既节省子弹,又不会卡壳。也就是根据查询结果给对应的实体类属性赋值。难道这个新式武器也有设计缺陷,没有考虑到这样的应用场景?还是我们不会使用?
首先,下载Install-Package AutoMapper
2、下面是我做的一个小例子:要记得添加引用哦!
<span style="font-size:14px;"><strong><span style="color:#ff0000;">using AutoMapper;</span></strong>namespace ConsoleApplication1{ class Program { static void Main(string[] args) { //创建实体映射规则,onclass为源数据契约、TimeTable为目标数据契约 Mapper.CreateMap<OnClass, TimeTable>(); //为源数据赋值 OnClass onclass = new OnClass { OnClassID = "001", OnClassNo = "002", OnClassName = "dandan" }; //将源数据的值映射给目标数据 TimeTable timetable = Mapper.Map<TimeTable>(onclass); //显示 Console.WriteLine(timetable.OnClassID+timetable.OnClassNo+timetable.OnClassName); } }}</span>看一下效果:
简单的AutoMapper介绍完了,有没有感觉到它的巨大作用呢?如果你的EF不能满足你的程序实现,需要调用其他模型时,请考虑它把~
- autoMapper-- 无缘也成有缘(一)
- 若无缘 若有缘
- 有缘才有能相遇,无缘岂能相知
- 有缘
- 2009-08-11-有缘即住无缘去,一任清风送白云
- 2009-08-11-有缘即住无缘去,一任清风送白云
- 中国香港放水,中国也无缘世界杯
- 无缘
- AutoMapper官方文档(一)【入门】
- AutoMapper
- AutoMapper
- AutoMapper
- 曾经在彼此生命中光照,即使无缘也无憾
- 自动生成automapper的configure匹配规则(一)【复杂类型属性解析】
- DTO数据传输对象、AutoMapper了解(一)
- 成也“归一”,败也“归一”
- AutoMapper使用示例(一)【结合ASP.NET MVC4 】
- C++友元函数(有缘分,咋都行!)
- 此虚拟机似乎正在使用中,无法取得所有权 解决办法
- 自定义Toast
- POJ 3974 Palindrome
- PS制作高光导航背景
- Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- autoMapper-- 无缘也成有缘(一)
- timesten获取sql相关执行计划
- MFC模态对话框与非模态对话框的区别
- Monkey日志信息Event percentages
- sizzle分析记录:词法分析器(tokenize)
- TableView 默认选中一行
- android GridView使用详解
- 面试题55:字符流中一个不重复的字符
- while(1);