国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php框架 > 框架设计 > EF浅析及示例分析

EF浅析及示例分析

来源:程序员人生   发布时间:2015-01-04 09:43:29 阅读次数:4003次

           数据作为软件的重要组成部份,它的存储和传递是每一个软件必须斟酌的事情。EF作为web利用程序开发进程中经常使用的数据处理解决方案,它是如何工作的,它的特点是甚么?本文就此做个简单介绍。

         最开始的时候,数据量比较小,并且没有触及到数据库,我们使用变量作为载体,保存和传递数据,使用作用域的方式来界定变量的作用范围;这类方式的坏处就是,每一个数据都需要1个变量,并且我们需要了解每一个变量的作用域才能正确的使用它们。

         接触到数据库以后,变量已不能满足大批量数据的存储和传递,这时候候DataTable表和实体出现了,我们将数据库的内容存储在实体中,在分层的软件中,这类结构的便捷性特别明显,只需要在用到实体的那1层援用实体层便可,非常简单。

3层数据传递示意图:


         web的利用程序开发中,不可避免的要使用各种模式或框架,单1的实体层不复存在了,这时候候就需要引入1种新的数据交换方式。基于ORMEF解决方案应运而生。

         ORM(Object RelationMapping)对象关系映照,它解决了面向对象和数据库不匹配的问题。

         EF(Entity Framework)实体框架,它可以在代码中将关系型数据库转换为类的情势,方便程序员的操作。

         EF的工作方式:EF数据库对象转换成了实体对象,将数据表字段转换成了属性,将数据表的关系转换成了结合属性,这样数据库E/R模型将完全的对应对象模型,程序员可以用操作1般类的方式方便的操作数据库

EF工作方式示意图:


         类似于3层的划分,EF也将对象模型分为了3层,分别是概念层,对应层,存储层。概念层定义了对象模型,利用程序可以以对象的方式访问数据;存储层负责与数据库管理系统做实体对应,让数据正确的写入和读取;对应层负责将概念层和存储层联系在1起,以确保数据正确的输入和输出。

         EF的3种模式 那末实体对象或实体类在代码中究竟以何种方式存在呢,它是model下的1个.edmx类。创建这个类有3种方式,分别是CodeFirstModelFirstDBfirstCodeFirst就是,先创建实体,然后映照产生数据库ModelFirst是先创建数据模型,然后生成代码数据库DBfirst是先创建数据库,然后创建实体。

        下面以DBFirst为例,演示在mvcEF的创建进程(C#)。

   1 创建数据库(略)

   2  创建1个mvc架构(略)

   3 model层添加1个新建项(略)

   4 选择ADO.NET实体数据模型


5 新建连接


    服务器需要选择或填写数据库服务器所在的IP地址,选择需要使用的数据库

6 选择EF模型


这里提供了的DBfirst和CodeFirst,没有ModelFirst。

  7 最后选择需要添加的数据表、视图等。


    对象模型的创建已完成,下1篇博客将会描写对象结构和如何使用。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生