您的位置:首页 > 其它

ORM学习之EF理解

2016-03-23 17:27 316 查看

ORM思想:

     先说说自己的理解:
     O就是Object,对应着就是我们的实体,
R就是Relational,对应着就是我们的数据库中的表,这里可能不是很好理解,现象我们的现实生活中,身高、年龄、这样的字段单独拿出来,没有什么意义,只有放在一起,放在一个表中来描述一个事物才有意义,表中的字段是有关系的!所以现在我理解了,表就是一种关系,是对现实事物的抽象!
M就是Mapping,用来描述两个事物之间的对应关系,这里就是用来描述实体和表之间关系的!
    ORM的思想的核心就是:跟踪实体的变化,把实体的变化映射到表中!
    ORM主要做的两件事就是跟踪实体的变化,这里使用消息的机制来实现的!把实体的变化映射到表的变化!
    ORM是对关系型数据库发展而来的技术,这样做的好处,简化了对数据库操作的复杂性,把对数据库的操作,变成了对实体的操作!复杂性降低了!变简单了!
   ADO.Net Entity Framework,是ORM思想的实践,我们在项目中也是使用的这个!版本是4.4的!总是听说,EF中通过操作上下文来实现对数据库的操作,后来才知道,为什么能通过数据库的上下文实现数据库的增删查改操作!原因竟如此简单:ADO.net实际上是一个组件库,也就是一个类库吧!包含的类有Connection、Command、DataReader、DataSet、DataAdapter、DataTable
这个和我们之前用的SQLHelper作用一致,与之相比更加全面和强大! 

EF的体现的ORM思想:



这里最左边标记CSDL、SSDL、MSL





实体的描述:



对应关系的描述:



下面是详细的描述:



通过这样就能把实体的变化映射到数据库的变化!
扩展:EF能实现跨数据库访问,这里说的之所以能跨数据库访问,主要是数据库驱动的配置更改就能实现!数据驱动程序更改,数据库就能更改!就想我们之前使用SQL2008的数据库,现在使用MySQL的数据库!
            EF的强大之处已经体会到了,必然会有所弱点就是,性能没有原生使用SQL效率要高,主要损耗在生成SQL语句上,而在执行的SQL语句上,没有,因为都是SQL语句,执行效率没有区别!



其他体现ORM的思想:

  Java:Hibernate、Enitity EJB、iBatis、TopLink、OBJ !

总结:

 现在对OMP思想有了进一步的体会,对EF的使用也更进了一步,带着这样的收获去学习Java中的Hibernate,应该会很快上手的!我相信道是相通的的!
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: