实体框架(Entity Framework)--简介

是什么?

    微软官方解释:ADO.NETEntity Framework是微软以ADO.NET为基础所发展出来的对象关系对应(O/R Mapping)解决方案,早起被称为ObjectSpace,现在版本已经到EF 6。实体框架是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。

 

    那么什么是ORM框架?

    广义上:ORM是面向对象的对象模型和关系型数据库的数据结构间的相互转换。

    狭义上:基于关系型数据库的数据存储,实现一个虚拟的面向对象的接口,持久化一个OO对象应该不需要了解任何关系型数据库存储数据的实现细节。

                                                     

    如图:O代表实体,R代表“数据表”,M代表二者之间的转换。

    ORM帮助开发人员将实体变化映射到数据表的变化,这就是ORM思想。


   如何理解ORMEF的关系?

    O/R Mapping是一种思想,而EF则是这种思想的实现。具体实现原理:实体之间的变化统一封装到一个入口,通过这个入口在VS的代码中实现数据表的变化。

 

干什么?

    从开始接触数据库到现在,学生信息管理系统、第一遍机房收费系统实现数据表的“增、删、改、查”操作都是直接在VB和VB.NET代码中直接写SQL语句,源程序和数据库的耦合性很强。之后的重构机房使用了SQLHELPER类,让我们在写链接数据库代码的时候进行了封装(自己写的封装),感觉到很爽,接触了EF之后,通过实体和表之间的映射,让我们能够更好地实现代码和数据库之间的解耦合。

    由于仅仅是提前了解EF,没有在项目中进行运用,我的理解还不到位,但能够感受到通过EF操作数据库的方便,查资料通过EF和MVC的结合,可以更好地让我们实现对数据库的访问。

(欢迎大家发表自己对EF的见解)


EF原理

            ObjectContext操纵数据库的上下文,它是我们在VS中操纵数据库的统一入口。(至于什么是ObjectContext,请参考我的下一篇博客),对于数据库的操纵通过ObjectContext统一进行处理,经过xml映射生成对应的SQL代码并执行sql操作。(借用晨阳师傅博客里的一张图:)

                                       实体框架(Entity Framework)--简介_第1张图片


总结:

            这篇博客是简单的介绍EF是什么,能干什么,刚开始学习EF,做个简单的认识,下一篇博客中就会从代码的角度来解析使用EF的好处是什么了,期待。


你可能感兴趣的:(框架,framework,entity)