[翻译] EF Core 概述
Entity Framework Core in Action
Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core 书籍。原版地址. 是除了官方文档外另一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识。因为没有中文版,所以本人对其进行翻译。 预计每两天一篇更新 PS: 翻译难免限于本人水平有不准确的地方,建议英文水平不错的同学直接查看原版,有不足的地方欢迎指正
第一部分目录导航
EF Core 概述
EF Core可以用作O/RM, 它在关系型数据库和包含类与软件代码的.NET软件之间进行映射. 表1.1展示了EF Core如何映射关系型数据库和.NET软件

O/RM的缺陷
编写一个优秀的O/RM很复杂的,尽管EF6.x或EF Core很容易使用,但有时EF Core的"魔法"会让你大吃一惊(surprise -.-),在我们深入了解EF Core的工作原理之前,我需要先提一下两个需要注意的问题
第一个问题是对象关系抗阻不匹配. 数据库服务器和面向对象的软件使用了不同的规则: 数据库使用主键来定义行是唯一的,而.Net类实例的引用在默认情况下被认为是唯一的. EF Core会为你处理大部分内容,但是你的.Net类会被这些键(主键)"污染",它们的值很重要.虽然大多数情况下EF Core都可以很好的处理,但有时你不得不做一些与纯软件解决方案不同的处理方式.你会在第2章看到一个多对多关系的例子:在C#中很容易,但在数据库中需要多做一些处理
第二个问题是O/RM(尤其是EF Core这样全面的O/RM)将数据库隐藏的深,以至于你有时会忘记数据库中会发生什么,这可能会导致你编写的代码在测试应用中没有什么问题,但是来到了实际的生产环境,当数据库很复杂并且有很多并发用户时,执行的效率会很低下
这就是为什么我会花时间在本章中展示EF Core的工作原理以及它生成的SQL. 对EF Core了解的更多,就越能够编写更好的EF Core代码,更重要的是当出现问题时知道怎么分析
注: 在本书中,我使用 "让EF Core正常工作,但如果我需要,会让它的性能变的更快"的方法来使用EF Core.EF Core让我们快速开发,但由于EF Core的缺陷或我对它的不良使用导致了数据库访问代码的性能不足以满足特定业务需求. 第5章介绍了如何隔离EF Core在最小的代价下对其优化,第13章介绍了如何查找和改进性能低下的数据库访问代码
[翻译] EF Core 概述的更多相关文章
- [翻译 EF Core in Action 2.2] 创建应用程序的数据库上下文
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译 EF Core in Action 1.9] 掀开EF Core的引擎盖看看EF Core内部是如何工作的
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译] EF Core in Action 关于这本书
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译 EF Core in Action 2.3] 理解EF Core数据库查询
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译 EF Core in Action 2.1] 设置一个图书销售网站的场景
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译 EF Core in Action 2.0] 查询数据库
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译 EF Core in Action 1.11] 何时不应该使用EF Core
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译 EF Core in Action 1.8] MyFirstEfCoreApp应用程序设置
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
随机推荐
- vector作为函数返回值
在实际的操作中,我们经常会碰到需要返回一序列字符串或者一列数字的时候,以前会用到数组来保存这列的字符串或者数字,现在我们可以用vector来保存这些数据.但是当数据量很大的时候使用vector效率就比 ...
- BZOJ_1801_[Ahoi2009]chess 中国象棋_DP
BZOJ_1801_[Ahoi2009]chess 中国象棋_DP Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像 ...
- C/C++反三角函数使用注意
最近写的东西用到了数学库中的acos函数,但是代码在运行的时候有时候会出莫名其妙的错误,比如返回值是个特别大的数. 最后在debug 的时候发现acos返回的数据很奇怪,但是传入的参数明明没有问题,可 ...
- Ceph万兆内网与系统万兆迁移
本文将总结一次为Ceph集群加装万兆内网(cluster network),后因需要对比实验来研究分布式存储集群在计算,网络,存储过程中各部分耗时比例,而将Ceph整体系统又整体搬移至万兆网的过程.但 ...
- 一行代码实现数组去重(ES6)
ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; ...
- 排序算法——(2)Python实现十大常用排序算法
上期为大家讲解了排序算法常见的几个概念: 相关性:排序时是否需要比较元素 稳定性:相同元素排序后是否可能打乱 时间空间复杂度:随着元素增加时间和空间随之变化的函数 如果有遗忘的同学可以看排序算法——( ...
- 距离度量以及python实现(二)
接上一篇:http://www.cnblogs.com/denny402/p/7027954.html 7. 夹角余弦(Cosine) 也可以叫余弦相似度. 几何中夹角余弦可用来衡量两个向量方向的差异 ...
- 【TCP协议】(3)---TCP粘包黏包
[TCP协议](3)---TCP粘包黏包 有关TCP协议之前写过两篇博客: 1.[TCP协议](1)---TCP协议详解 2.[TCP协议](2)---TCP三次握手和四次挥手 一.TCP粘包.拆包图 ...
- Maven构建Struts2项目
1.添加Struts2依赖 这里主需要在pom.xml中添加一个struts-core的依赖即可: <project xmlns="http://maven.apache.org/PO ...
- ifrem上传文件后显示
ifrem上传文件后显示 1.上传文件按钮 <a class="btn btn-primary pull-right" id="data-upload&quo ...