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生成的实体映射同时包括表关系,主外键的关系等。
参考资料:

关于C# 软件工具VS2013 使用EF实体框架
可能还需要安装sqlserver客户端,VS也是依赖sqlserver管理工具的某些组件来访问数据库
c# 有什么框架能取代EF的?
自己的原因,EF是.net中的较重的框架,在效率等各方面是绝对厉害的!当然,轻量级的linqtosql也可以使用,但是对于较大的网站还是使用EF的好!当前来说在.net在数据持久方面也只有这两个框架了。
顺便说一下,EF没有其他框架所代替,就证明其自己的实力了,你经常出现异常为什么不先向自身找一下原因呢?一把瑞士军刀不会用,非要找什么切菜刀才顺手吗?为什么不考虑先提高一下自己的技术水平,用好EF呢?你的这种情况,即使是linqtosql照样会出现各种问题,我觉得找一个你用起来不出问题的框架要比学会用EF难太多了!
比如就凭你说的ObjectStateManager中出现的问题,基本你与.net数据持久层的任何框架都绝缘了!这些问题你会在每个框架中都遇到!
我来给你说一下原因——其实很简单,如果一张数据表中你插入了相同主键的数据是否可以通过(RDBMS),肯定无法通过,任何关系型数据库都一样!你可能很奇怪,为什么在你的集合中却没有问题?那是因为他的主键你没有设置,所以默认主键是所有键做为主键,也就是你的集合(你可以理解为内存数据表)中的主键与数据库中的主键是不一致的!如果一致的情况下,你无法插入到时内存表,如果不一致的情况下,会更造savechange时新增的数据无法插入!就这么简单的一个问题,你需要保证集合中主键与数据库表中主键相同即可。当然还有事务等等,其实全都一样的!而这些恰恰只是EF最基本的东西!如果这些基本的东西没有搞懂,换一个框架又如何呢?
建议你先系统学习一下EF,然后再来决定是否寻找代替架构。
谢谢,您的耐心回答对我帮助很大,就这一点,我可以跟你加高悬赏,我现在很需要学习ef当面的知识,但是视频找不到好的,能推荐个视频吗(最好WINFORM版,我入门快)?(书籍类的看着没半小时我就会睡觉,书籍用于平时作参考才差不多),我现在的EF水平只是初级会使用的状态,还需要加深。正如你说的的确是自己的原因,需要提升自己。
.net系统软件,EF框架,需要个本地数据库。有没有不需要安装,仅加几个DLL就可以正常访问的数据库?
用access数据库,都不需要引入dll,.net环境下直接就可以连接啊,修改一下连接字符串就行了
EF框架的优点是什么?
用于支持开发人员通过对概念性应用程序模型编程(而不是直接对关系存储架构编程)来创建数据访问应用程序。目标是降低面向数据的应用程序所需的代码量并减轻维护工作。Entity Framework 应用程序有以下优点:· 应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。· 应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。· 可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构之间的映射。· 开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实现)的一致的应用程序对象模型。· 多个概念性模型可以映射到同一个存储架构。· 语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。实体框架Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术。在EF中的实体数据模型(EDM)由以下三种模型和具有相应文件扩展名的映射文件进行定义。· 概念架构定义语言文件 (.csdl) -- 定义概念模型。· 存储架构定义语言文件 (.ssdl) -- 定义存储模型(又称逻辑模型)。· 映射规范语言文件 (.msl) -- 定义存储模型与概念模型之间的映射。实体框架 使用这些基于 XML 的模型和映射文件将对概念模型中的实体和关系的创建、读取、更新和删除操作转换为数据源中的等效操作。EDM 甚至支持将概念模型中的实体映射到数据源中的存储过程。它提供以下方式用于查询 EDM 并返回对象:· LINQ to Entities -- 提供语言集成查询 (LINQ) 支持用于查询在概念模型中定义的实体类型。· Entity SQL -- 与存储无关的 SQL 方言,直接使用概念模型中的实体并支持诸如继承和关系等 EDM 功能。
.NET EF实体框架 批量删除如何写
这个确实没有,推荐使用SQL语句删除,因为EF中批量删除的话你必须得先查询出数据,然后再在本地数据源中调用Clear()方法
转载请注明出处51数据库 » 软件测试RF框架 EF框架的优点是什么
喜欢被宠着你

