文献索引

此文章完全根据微软官方文档,经过我自己的翻译而来。若有不准确之处,敬请指导。

Entity Framework

EF框架提供了一些列面向数据(data-oriented)的软件应用技术。EF框架使得程序员以特定域内的对象和属性的方式操作数据,例如 customers 和 customer addresses,完全不用关心它们在数据库表和列架构中是如何存储的。有了EF框架,开发者能以高度抽象的方式操作数据,与传统开发相比,它能够以最少的代码生成和维护 data-oriented 的应用。

预览(Overview)

EF框架是一个对象-关系映射器(object-relational mapper, ORM),它降低了.NET 框架中面向对象和关系型数据库的不匹配。 EF使得开发者主要同APP的概念模型(conceptual model)打交道,通过使用熟悉的面向对象技术。在EF框架中,你可以使用在特定作用域中的对象和属性,例如 custormers 和 customer addresses, 而完全不用考虑下层的用于持久化数据的数据库的表和列。开发者可以直接依靠于概念模型(conceptual model)来处理数据介入(data access),EF框架负责翻译这些操作为关系的数据库的行为。

在EF框架应用中,主要有两层:
- 模型层The modeling layer
- 对象层The object layer

其中,模型层包括三个组件:
1. 概念模型。包括特性域的视图类型和关系,它们是基于EDM(Entity Data Model )的 。
2. 数据库存储层。 一个数据库架构(schema)来定义数据库表和关系。
3. 1和2层间的映射。概念模型和数据库架构间的映射组件。

EF 用映射组件(mapping component)将依赖于实体对象的操作,例如,创建(create),读取(read),更新(update),删除(delete),简称为(CRUD),转化为等同于数据库中的操作。
EF**对象层**(object layer)包括类型化的CLR对象(common language runtime),它发射定义在概念模型中的实体(Entities)和关系(relationships)。这些对象能被程序语言辨识。类型的准确格式是由你提供给EF的配置控制的。

映射和建模(Mapping and Modeling)

  • 有不同的方法来生成上述提到的映射层( mapping layer)和对象层(object layer): 你可以用EF工具从现有的数据库中生成你的模型。这种方法产生了一个默认的概念模型和映射,然后你可以通过使用EDM(Entity Data Model)Designer实现定制。第二种方法,通过使用EDM设计器,用图形化地方式创建一个概念模型,然后从这个模型中通过工具建立元模型,最后基于元模型创建一个数据库。
  • 第三种方式,用Code first方式在代码中创建概念模型,在代码中你定义了各种对象类型和定义一些配置,EF基于这些代码推断出概念模型。然后,根据代码,映射元模型(mapping metadata) 在运行时被生成。模型既可以被映射到已经存在的数据库中,也可以从模型映射创建一个完全新的数据库。

同对象一起工作(Working with Objects)

EF的对象层(object layer)让你能做如下事:
- 依靠概念模型进行查询操作;
- 具体化从以Objects的数据源返回的数据;
- 追踪对象的改变;
- 传播对象的改变再次返回到数据源;
- 绑定对象到控件。

另外参考

其他资料

Entity Framework-Introduction相关推荐

  1. 如何使用Entity Framework在Always Encrypted列上模拟通配符搜索

    介绍 (Introduction) The title of this post should have been "How to implement wildcard search fun ...

  2. EF-Entity Framework 相关技术点收集贴

    不定期.偶尔.添加更新 在网络上看到或者自己开发过程中碰到的EF-Entity Framework相关技术点 本文地址:http://www.cnblogs.com/vnii/archive/2012 ...

  3. C#综合揭秘——Entity Framework 并发处理详解

    引言 在软件开发过程中,并发控制是确保及时纠正由并发操作导致的错误的一种机制.从 ADO.NET 到 LINQ to SQL 再到如今的 ADO.NET Entity Framework,.NET 都 ...

  4. 《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想

    前言 借书正式出版之际,完整回顾下从写博客到写书整个历程,也算是对自己近三年在技术上的一个总结,整个历程可通过三个万万没想到来概括,请耐心阅读. 写博.写书完整历程回顾 从2013年12月注册博客园账 ...

  5. Entity Framework Code First在Oracle下的伪实现

    为什么要说是伪实现,因为还做不到类似MsSql中那样完全的功能.Oralce中的数据库还是要我们自己手动去创建的.这里,我们舍掉了Model First中的EDMX文件,自己在代码里面写模型与映射关系 ...

  6. Entity Framework:Code-First Tutorial开篇

    这个系列文章是关于Entity Framework Code-First的英文系列文章,内容不错,每篇一个主题知识点介绍,特转载过来 原文地址:http://www.entityframeworktu ...

  7. entity framework 使用Mysql配置文件

    2019独角兽企业重金招聘Python工程师标准>>> <?xml version="1.0" encoding="utf-8"?> ...

  8. Entity Framework CodeFirst数据迁移

    原文:Entity Framework CodeFirst数据迁移 前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是"Database Fi ...

  9. 看看Entity Framework 4生成的复杂的分页SQL语句

    之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题. >>> 来看一看,瞧一瞧! ...

  10. Entity Framework的启动速度优化

    最近开发的服务放到IIS上寄宿之后,遇到一些现象,比如刚部署之后,第一次启动很慢:程序放置一会儿,再次请求也会比较慢.比如第一个问题,可以解释为初次请求某一个服务的时候,需要把程序集加载到内存中可能比 ...

最新文章

  1. php怎样加密文件,如何使用php加密大文件并通过命令行解密?
  2. Jmeter学习系列----1 环境搭建
  3. 需求评审五个维度框架分析及其带来的启示-总起
  4. PIC中档单片机汇编指令详解(6)
  5. 关于计算机航天生物的想像作文,未来的航天器想象作文750字
  6. 信息学奥赛一本通C++语言——1038:苹果和虫子
  7. 中国电信5G套餐用户渗透率达到50.4%
  8. Java通过JNI/JNA加载dll库文件调用C接口,出现“java.lang.UnsatisfiedLinkError:包名.类.方法(参数)”问题
  9. 后端学习路线的书籍经验总结
  10. 深圳政府发文:采取SA模式建设的5G基站,每个奖励1万元
  11. wex5 实战 常用代码模型集合
  12. SpringBoot 空指针处理总结
  13. Python爬虫 | 全网资源汇总
  14. 1003. Universal Travel Sites (35)
  15. 我真的需要读软件工程的硕士吗?
  16. 自己做量化交易软件(41)自编仿通达信公式及自编因子公式的计算速度比较及因子公式结果排名
  17. 计算机BIOS设置和CMOS设置的区别与联系
  18. 维刻官方正品防伪系统升级公告
  19. #pragma comment()
  20. 【Git】Git基础

热门文章

  1. 华为HarmonyOS鸿蒙智能手表开发和设计需要知道的
  2. python练习9:要求输出国际象棋棋盘
  3. MPW/CyberShuttle芯片
  4. C++:MFC中SetDlgItemText再次调用的时候的文本不覆盖先前的文本 换一行写!
  5. 趣链--ret解析,应用javajdk
  6. 一键切换语言(多语言插件vue-i18n的使用)
  7. pyqt6自定义作图
  8. 多旋翼无人机发展浅析
  9. C 使用fread读取文件
  10. 质量体系ISO9001认定