这段时间比较空,可以有时间去玩玩比较潮的技术了,呵呵.知道Entity Framework这个东东,是同事告诉我的.说不错,有时间可以玩玩,最近研究了下,确实不错.它让我想起了一句话:微软在制造傻瓜的东西,但时间却制造出更傻瓜的人类.
不可否则,微软技术的宗旨,简单,方便,好用.这点也使用微软这些年一直不败的原因之一,相比Java的复杂配置,Net程序员不知道要轻松多少.额,貌似有些跑题了,还是说下EF吧.
先看下它是如何创建的,如图-1所示,我们创建的文件类型是这个东东.以后的创建步骤园子里有好多类似的文章,大家直接参考就可以了.我 不再多废话了.推荐几篇博文
图-1
http://www.cnblogs.com/fly_dragon/archive/2011/02/22/1961744.html
http://www.cnblogs.com/scottckt/archive/2011/04/05/2006191.html
http://www.cnblogs.com/webabcd/archive/2009/02/26/1398438.html
创建完成以后,就生成了如图-2所示的文件,这里使用的Db是SQLServer自带的示例Northwind.
图-2
我们可以用记事本打开NorthWindEF.edmx这个文件,看看里面到底是什么东东?如图-3所示
图-3
也是基于XML文件结构,将Db库里的对象搬到前台的代码里,简单说,它是以一个整体的形式存在,操作时更加简单.比之前的DbTable实体类对象更加进化一些.
下面看看它的CUID操作是如何进行的?如图-4和图-5所示.代码很容易理解,就是先在EF对象中找实体,然后就可以对实体进行操作了.注意最后执行的操作都是SaveChanges()方法,多简单.它已封装到这种程度!丫的,程序员快失业了!
图-4
图-5
这里再说明下,修改操作还有另外一种方法,可以不经过查询,直接操作即就,如图-6所示.调用一下附加操作就可以的.
图-6
我们看下最为有意思的部分,就是查询操作.之前还以为可以通过select语句这样获取某个实体的泛型集这样,看过之后才发现不是这个样子.先看下代码,如图-7所示.由于之前没有接触过Linq语法,使用起来还比较费劲.
图-7
这里还要介绍另一个功能,就是反向生成Db对象,根据EF项目文件.这里我就不介绍了,有篇博文已经说得很详细了,而且还有示例代码下载.我这里只说其他人没有说的,哈哈
http://www.cnblogs.com/Lowlevel/archive/2011/02/23/ado_net_entity_framework_ctp5_quickstart.html#2031770
最后我们再看看EF这个技术能用的业务场景,这只是根据本人的工作经历想出来的.是否适用要看实际操作的结果了.
管理类软件,特别是和Db关联相当紧密的软件,比如ERP软件,HIS,OA或人事的局域网内部管理软件,他们都是可以划分出很出子功能系统的.如ERP中的进销存,这些系统一般都是经过千锤百炼的,还是比较稳定的.它的Db操作是可以使用这项技术的.而且确实会提升工作效率.
再补充一句,每种技术的更新,都有它的风险,这个要看决策者的决断了.如果软件设计合理,扩展性很好的话.替换就很方便的.
示例代码