引言
在上一篇博客中说道在合作小组中接触到了很多新的知识,这些新的知识让我感到我们现在还是一只很弱小的菜鸟,我们根本不知道外面的事物是多么的新鲜,在我们之外还有多少东西是需要我们好好学习的,所以现在我们的时间相对需要学习的知识来说真的是太少了,我们真的应该多学习一些新的知识来充实我们自己,最近我负责的底层为了能更接近ITOO,我们采用了EF实体框架。经过这几天的学习和研究可以说对EF框架有了那么一点点的认识,在这和大家分享。
基本知识
在介绍EF之前我们先来了解一种思想——O/R Mapping:
广义上,ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的相互转换。狭义上,ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口。理想情况下,基于这样一个面向对象的接口,持久化一个OO对象应该不需要要了解任何关系型数据库存储数据的实现细节。
EF概念:实体框架(Entity Framework)是ADO.NET中的一组支持面向数据的软件应用程序的技术,是微软的一个ORM框架。ORM的核心思想就是把实体的变化映射成表的变化,这样我们在开发的时候不再关心数据库中的表的东西,而是直接面向实体开发。
图解:下面就给大家展示两张照片来简单介绍EF的核心流程。
从上面这张图中我们可以从宏观上看出EF的核心流程这样的,我们的增、删、改、查操作不再是之间面向数据库中的表来操作,而是面向中间的一个上下文(objectContext)来实现,直接操作实体,这些操作经过OR映射完成对相应数据库的操作。下面在给大家一个微软公司对EF实体框架的一个图解。
Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象(entity),而数据字段都转换为属性(property),关系则转换为结合属性(association),让数据库的E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以及支持 Entity Framework 的数据提供者(provider),让数据访问的工作得以顺利与完整的进行。
这样我们的开发人员就不用在花费很的力气来掌握和学习那些对数据的操作语言,我们就可以利用LINQ语句对实体操作来完成我们的数据更改操作。
EF框架的优点
1、应用程序不再对特定的数据引擎后存储架构具有硬编码的依赖性。
2、可以在不更改应用程序代码的情况下更改概念模型和特定于存储的架构之间的映射。
3、开发人员可以利用映射到各种存储架构(可能在不同的数据库管理系统中实现)一致的应用程序对象模型。
4、多个概念模型可以映射到同一个存储架构
5、语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。
小结
在这篇博客中我给打大家在理论上介绍了一下到底什么实体框架,以及实体框架的核心思想和内容流程,让我们先对这这种思想有一种宏观的认识,也就是达到了 是什么 的阶段,在下一篇博客中我将介绍在VS2013开发环境下怎样实现这种操作,给大家做一个简单的增、删、改的小例子。上面都是小菜鸟的见解如果不对,请大神斧正!!