EF框架的优点是什么?

如题所述

Entity Framework 应用程序有以下优点:

1、应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。

2、应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。

3、可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构之间的映射。

4、开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实现)的一致的应用程序对象模型。

5、多个概念性模型可以映射到同一个存储架构。 · 语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。

扩展资料:

实体框架(Entity Framework)是微软以ADO.Net为基础开发出来的对象关系映射(ORM)解决方案,它解决了对象持久化问题,将程序员从编写麻烦的SQL语句当中解放出来。

相对于传统的ADO等各种数据库操纵技术来说,微软的ADO.Net更为先进,它封装了很多底层操作,抽象了接口,针对接口编程,将调用统一化。

EF框架的应用:

首先,实在VS中建立新项,添加新建项—数据—ADO.NET实体数据模型,然后设置其自己想要的映射的数据集,设置成功后,会生成一些列文件:

如上图所示,这就是我测试用的shoppingBus数据库生成的实体映射。其中有3个重要的类,分别是:

dataModel.Context.tt下的dataModel.Context.cs类,这个类是包含的数据库的上下文关系,我当时在看的时候就想到了设计模式策略模式中的context类,我认为它们有着共同之处,都是负责数据间的交互和实现。

DataModel.tt下的数据表类,比如这里的就是pet.cs类和petType.cs类。这里就是相当于具体的实体类,值得特别说明的是,EF生成的实体映射同时包括表关系,主外键的关系等。

参考资料:

百度百科-ADO.NET Entity Framework

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-03

EF框架的优点如下:

1、应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。

2、应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构之间的映射。

3、开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实现)的一致的应用程序对象模型。

4、多个概念性模型可以映射到同一个存储架构。语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。

EF框架可以理解成微软的一个ORM产品,用于支持开发人员通过对概念性应用程序模型编程来创建数据访问应用程序,目标是降低面向数据的应用程序所需的代码量并减轻维护工作。 

扩展资料:

EF框架的缺点:

非SQL Server数据库且无该数据库的DataProvider。

高性能要求。在进行一些复杂查询的情况下,EF的性能表现不太好,而开发人员又无法控制SQL语句的生成

高安全性要求。有时候DB用户仅仅具有EXEC的权限,而EF自动生成的类又不好用,还是需要自己来写。

EF框架常见的模型:

带有有效载荷的多对多关系建模

在带有有效栽花的多对多关系数据库中 ,关系表除了主键外 ,还有其他数据字段。在这种关系中 ,直接把表映射到实体模型中 ,两实体表自动创建对应的实体类型 ,而关系表也被映射成为一实体类型 ,在此实体类型中除了原有属性名 ,还有对应两实体表的导航属性 ,可分别通过 1 对多关系进行对象导航。

自引用关系建模

对于分类表之类的自引用表 ,把表映射成为实体类型后 ,其中将包含两个导航属性 分别对应父、子对象 ,其中父对象为 1 端 ,多端为子对象集合 ,因此分别把 1 端改名为父端名称如Parent Category,多端改名为子对象集合名称如 Sub Categories。由此两导航属性可方便地访问到对应对象。

本回答被网友采纳
第2个回答  2012-10-17
在.Net Framework SP1微软包含一个实体框架(Entity Framework),此框架可以理解成微软的一个ORM产品。用于支持开发人员通过对概念性应用程序模型编程(而不是直接对关系存储架构编程)来创建数据访问应用程序。目标是降低面向数据的应用程序所需的代码量并减轻维护工作。Entity Framework 应用程序有以下优点:
· 应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。
· 应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。
· 可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构之间的映射。
· 开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实现)的一致的应用程序对象模型。
· 多个概念性模型可以映射到同一个存储架构。
· 语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。
实体框架Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术。在EF中的实体数据模型(EDM)由以下三种模型和具有相应文件扩展名的映射文件进行定义。
· 概念架构定义语言文件 (.csdl) -- 定义概念模型。
· 存储架构定义语言文件 (.ssdl) -- 定义存储模型(又称逻辑模型)。
· 映射规范语言文件 (.msl) -- 定义存储模型与概念模型之间的映射。
实体框架 使用这些基于 XML 的模型和映射文件将对概念模型中的实体和关系的创建、读取、更新和删除操作转换为数据源中的等效操作。EDM 甚至支持将概念模型中的实体映射到数据源中的存储过程。它提供以下方式用于查询 EDM 并返回对象:
· LINQ to Entities -- 提供语言集成查询 (LINQ) 支持用于查询在概念模型中定义的实体类型。
· Entity SQL -- 与存储无关的 SQL 方言,直接使用概念模型中的实体并支持诸如继承和关系等 EDM 功能。
· 查询生成器方法 --可以使用 LINQ 风格的查询方法构造 Entity SQL 查询。追问

能简单一点的说出他的优点 ,在使用EF框架做项目的优点。

本回答被提问者采纳
相似回答