ADO.NET Entity Framework示例

      这段时间比较空,可以有时间去玩玩比较潮的技术了,呵呵.知道Entity Framework这个东东,是同事告诉我的.说不错,有时间可以玩玩,最近研究了下,确实不错.它让我想起了一句话:微软在制造傻瓜的东西,但时间却制造出更傻瓜的人类.

      不可否则,微软技术的宗旨,简单,方便,好用.这点也使用微软这些年一直不败的原因之一,相比Java的复杂配置,Net程序员不知道要轻松多少.额,貌似有些跑题了,还是说下EF吧.

      先看下它是如何创建的,如图-1所示,我们创建的文件类型是这个东东.以后的创建步骤园子里有好多类似的文章,大家直接参考就可以了.我 不再多废话了.推荐几篇博文

clip_image001

图-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.

clip_image002

图-2

      我们可以用记事本打开NorthWindEF.edmx这个文件,看看里面到底是什么东东?如图-3所示

clip_image004

图-3

      也是基于XML文件结构,将Db库里的对象搬到前台的代码里,简单说,它是以一个整体的形式存在,操作时更加简单.比之前的DbTable实体类对象更加进化一些.

      下面看看它的CUID操作是如何进行的?如图-4和图-5所示.代码很容易理解,就是先在EF对象中找实体,然后就可以对实体进行操作了.注意最后执行的操作都是SaveChanges()方法,多简单.它已封装到这种程度!丫的,程序员快失业了!

clip_image005

图-4

clip_image007

图-5

      这里再说明下,修改操作还有另外一种方法,可以不经过查询,直接操作即就,如图-6所示.调用一下附加操作就可以的.

clip_image008

图-6

      我们看下最为有意思的部分,就是查询操作.之前还以为可以通过select语句这样获取某个实体的泛型集这样,看过之后才发现不是这个样子.先看下代码,如图-7所示.由于之前没有接触过Linq语法,使用起来还比较费劲.

clip_image009

图-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操作是可以使用这项技术的.而且确实会提升工作效率.

      再补充一句,每种技术的更新,都有它的风险,这个要看决策者的决断了.如果软件设计合理,扩展性很好的话.替换就很方便的.

 

示例代码

ExampleEF

你可能感兴趣的:(framework)