EF总结--EF简介

来源:互联网 发布:手机游戏源码下载 编辑:程序博客网 时间:2024/05/01 02:26

      EF全称Entity Framework,说到EF不得不提ORM。

      ORM全称Object Relationship Mapping,广义地讲,就是面向对象的对象模型和关系数据库的数据结构之间的相互转换。通俗地解释,即表实体和表之间的相互转换。ORM体现的是一种思想,表实体的变化映射到表的变化。也就是说,你对实体进行增删改查引起的实体变化,会自动更新到数据库。

  • 我们为什么需要ORM?

      1.数据库的数据类型和程序中的数据类型不一致,如在数据库中是char,varchar,而在程序中用string。

      2.软件开发过程中有时需要更换数据库。

      在我们的机房收费系统中我们用了抽象工厂+反射+配置文件来应对更换数据库这种变化,当更换数据库时,我们需要修改配置文件,同时我们要再建一组D层的类,有原来的SQL……DAL.cs,变成诸如Oracle……DAL.cs,似乎还是很麻烦。

       基于以上这种软件开发中面向对象的思想和关系数据库之间不一致的问题,有了ORM。

       EF则是根据ORM思想,生产出的一款产品,EF是实现ORM思想的一种框架。

  • EF原理

                                     

       

       ObjectContext操纵数据库的上下文,它是我们操纵数据库的统一入口。

       XML映射,我们可以直观地了解一下。

       在生成好的实体数据模型处右击--打开方式--选择XML编辑器


                   

      

      在这里就描述了实体和表的映射关系:SSDL, CSDL 和C-SMapping,分别是对表,表实体和它们之间映射关系的描述。

      总之概括地说一下EF的原理,即:通过对Context(上下文)执行增删改查操作,然后通过XML的映射关系生成数据库中的脚本,然后执行脚本,从而将变化更新到数据库。

      现在,来解决一下通过EF如何应对数据库的变化:

      只需要更改AppConfig文件中的ConnectionString配置节中的Provider,如果是SQL Server,则Provider是provider=System.Data.SqlClient。更换了Provider后,根据映射关系生成的脚本会自动变化。这样就不需要我们再新建一组用户访问其他数据库的D层的类了。

  • EF与ADO.NET性能对比

      ADO.NET是访问数据库的技术,通过下图,大家可以看一下二者的关系,我现在理解的是虽然EF很强大,智能,但是它也需要在一定程度上依赖于ADO.NET 。      

                                              


      以下的文章大家可以直观看一下二者在代码中和性能上的区别。

       http://www.mybdqn.com/wsxt/7003/

 

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 拉稀拉的肛门疼怎么办 大人屁股沟裂了怎么办 肛门痛大便有血怎么办 肛裂出血几天了怎么办 肛裂拉屎出血该怎么办 孕期肛裂出血该怎么办 老人大便拉不出来怎么办 拉屎拉的屁眼疼怎么办 拉屎堵在肛门口怎么办 上火拉大便有血怎么办 7岁儿童大便带血怎么办 阴炎用药后出血怎么办 孕晚期大便拉不出来怎么办 想拉屎拉不出来怎么办 4岁幼儿大便干燥怎么办 2岁幼儿大便干燥怎么办 1岁幼儿大便干燥怎么办 5岁幼儿大便干燥怎么办 4岁儿童大便干燥怎么办 狗吃别的狗的屎怎么办 狗狗黄疸怎么办最有效 拉屎出血但不疼怎么办 没拉出时就出血怎么办 拉不出大便怎么办肛门像被堵住 尿里粘液丝高怎么办 右肋骨里面疼是怎么办 腰受凉直不起来怎么办 干活累了腰疼怎么办 打球腰打球腰疼怎么办 生完孩子腰酸痛怎么办 腰窝哪里痛是怎么办 尿结石疼的时候怎么办 站久了脚底痛怎么办 站久了脚板痛怎么办 站久脚底板酸痛怎么办 累的腿疼怎么办小妙招 脚走路多了疼怎么办 脚走路多了腿疼怎么办 走路多了脚心疼怎么办 坐时间长了腰疼怎么办? 开车久了腰疼怎么办