ADO.NET Entity Framework 简介
一直对EF都是一知半解的,没有系统的了解过EF有什么样的功能,有什么具体的好处。在接下来的文章中会详细介绍EF。以下是参考MSDN上的文章,翻译并加以自己的理解得出的。
ADO.NET Entity Framework 简介
在微软的ADO.NET Entity Framework是一个对象/关系映射(Object/Relational Mapping)框架,使开发人员可以使用域特定对象的关系数据,消除了大部分需要开发者编写的数据访问管道代码。使用EF,开发者可以使用LINQ查询问题,然后检索和操纵数据作为强类型的对象,EF的对象关系映射实现提供了服务如便更跟踪,identtity resolution,延迟加载以及查询转换,以便开发者能把重点聚焦在他们特定的应用程序业务逻辑上而不是在数据访问层面上。
EF的高级功能
- 兼容大部分的数据库服务器(包括 SQL Server,Oracle和DB2)
- 包含了丰富的映射引擎能够很好的处理真实世界数据库架构和存储过程
- 提供集成VisualStudio 工具直观地创建实体模型和从现有数据库自动生成实体模型。新的数据库可以通过手动编辑完全控制模型的部署
- 提供使用代码创建实体模型的Code First的体验.Code First能够映射现有数据库或者从模型生成数据库。
- 集成比较好的.NET 应用程序模型,包括ASP.NET,WPF,WCF和WCF 数据服务(前身是ADO.NET 数据 服务)
EF是建立在现有ADO.NET提供模型上,现有提供的模型可以更新和支持新的EF功能。因为这样,ADO.NET 开发者能很轻松把现有建立在ADO.NET的应用程序搬移到EF上。
用EF开发能提供以下的好处:
- 减少开发者时间:EF框架提供了核心的数据存取能力因此开发者专注于应用程序的逻辑上。
- 开发者以应用程序为中心的对象模型而言,包括的类型有,继承,复杂成员和关系。在.NET Framework 4.0 中,也支持Plain Old CLR Objects(POCO)实体。
- 应用程序能从硬编码倚靠特定的数据引擎或者存储架构中释放出来而支持概念模型即物理存储模型。
- 能映射对象模型和特定的存储架构改变已变应用程序代码。
- 对概念模型写的LINQ查询支持智能感知和编译时语法验证。
程序开发者使用EF的Entity Data Model(EDM) 来描述特定的应用程序对象或者概念模型,EDM建立在广为人知的ERM(Entity Relationship model)上,来加深对逻辑数据架构上的抽象层次上,EDM的发展成为整个一套从微软的开发人员和服务器技术的通用数据模型的主要目标。
转载于:https://www.cnblogs.com/zhanghonjiang2011/archive/2012/04/27/2472872.html
ADO.NET Entity Framework 简介相关推荐
- Entity Framework 简介
转贴:链接https://www.cnblogs.com/davidzhou/p/5348637.html 侵删,谢谢 第一篇:Entity Framework 简介 先从ORM说起吧,很多年前,由于 ...
- 软件开发知识--[ADO.NET Entity Framework]
ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,现已经包含在 Vi ...
- EF(ADO.NET Entity Framework)
对象/关系映射框架 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.该框架曾经为.NET Framew ...
- ADO.NET Entity Framework 学习(1) [ZT]
前一段时间园子里有很多文章介绍分析了Linq To SQL,它可以说是一个简单实现的ORM,是微软针对数据和对象的阻抗不平衡的问题.C# 3.0推出一些新的特性,比如Extension Method, ...
- 一处 ADO.NET Entity Framework 的逻辑BUG
这几天开始接触ADO.NET Entity Framework,突然发现一处奇怪的BUG. 首先来看这样一个目录结构: 我将EDM模型存入了一个名为"A"的目录中,然后编辑模型,设 ...
- 自定义Unity对象生命周期管理集成ADO.NET Entity Framework
在Unity中,从Unity 取得的实例为 Transient.如果你希望使用多线程方式,就需要在组成时使用lifecycle参数,这时候取出的组件就不再是同一个了.在Unity IOC中,它支持我们 ...
- Entity Framework简介
原文:Entity Framework简介 前言 很久很久之前就想来好好的学习一下EF,一直也是各种理由导致一直也没有好好的开始,现在下定决心了,不管怎样一定要把这先走一遍,并且把自己学到的相关EF的 ...
- ADO.NET Entity Framework Beta2(五)/快速入门(实体框架)
This quickstart illustrates a series of tasks that support the topics in Getting Started with the En ...
- ADO.NET Entity Framework 基本概述
时间过得很快转眼间VS已经2010版了,在4月12日将会正式发布VS 2010 ADOEF 做为.Net 4.0 中被微软推荐的ORM框架,相比.Net 3.5 sp1 已经得到了进一步的增强,使用它 ...
最新文章
- Bootstrap简介--目前最受欢迎的前端框架(一)
- Kafka+SparkStreaming+Zookeeper(ZK存储Offset,解决checkpoint问题)
- 【spfa】假期计划(jzoj 3936)
- Vision Transformer 论文解读
- php redis存储位置,redis数据保存在哪里
- 在CentOS5.4上安装Git
- 手机modem开发(9)---LTE注网总体流程
- epoll边缘触发_epoll事件通知机制详解,水平触发和边沿触发的区别
- 怎样定义函数,调用函数
- lopatkin俄大神精简中文系统Windows 10 Enterprise 18362.145 19H1 Release x86-x64 ZH-CN BOX
- 存储器——存储器容量扩充
- 服务器维修工单模板,XX运维服务方案模板.doc
- python查看指定文件的绝对路径和当前工作路径
- C语言:正负交替的问题
- EMV技术学习和研究(七)持卡人验证
- 洛谷P1460 [USACO2.1]健康的荷斯坦奶牛 Healthy Holsteins
- 华为的云计算转型:逼出来的开放
- 实现黑客帝国数字雨效果
- 16、持续集成流水线实践:流水线上的AI单元测试(MAVEN)
- P1185 绘制二叉树——蒟蒻的暴力模拟
热门文章
- 【Oracle】表空间相关集合
- SpringBoot 启动错误搜集
- css字体更小 css比12px更小的方法
- 自制Flash FLV视频播放器
- 北京实习总结——记住牛人那些话
- 多媒体互动受青睐,演绎未来3G网络
- C++,那些可爱的小陷阱(一)
- 斯诺克之星 - 白沙台球杆 官方 及 派蔻台球杆 官方 www.snkstar.com - 最专业的台球杆销售网站...
- 多线程解决rospy.spin()语句之后,程序不再往下执行问题
- WinEdt(latex)详而简单教程