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 概述的更多相关文章

  1. [翻译 EF Core in Action 2.2] 创建应用程序的数据库上下文

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  2. [翻译 EF Core in Action 1.9] 掀开EF Core的引擎盖看看EF Core内部是如何工作的

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  3. [翻译] EF Core in Action 关于这本书

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  4. [翻译 EF Core in Action 2.3] 理解EF Core数据库查询

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  5. [翻译 EF Core in Action 2.1] 设置一个图书销售网站的场景

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  6. [翻译 EF Core in Action 2.0] 查询数据库

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  7. [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  8. [翻译 EF Core in Action 1.11] 何时不应该使用EF Core

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  9. [翻译 EF Core in Action 1.8] MyFirstEfCoreApp应用程序设置

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

随机推荐

  1. statsd.go

        }     return arr[indexOfPerc] }

  2. BZOJ_2134_单选错位——期望DP

    BZOJ_2134_单选错位——期望DP 题意: 分析:设A为Ai ∈ [1,ai+1] 的概率,B为Ai = A(imodn+1)的概率显然P(A|B) = 1,那么根据贝叶斯定理P(B) = P( ...

  3. UWP中实现大爆炸效果(二)

    上一回实现了一个宽度不均匀的Panel,这次我们编写一个简单的BigbangView主体. 首先创建一个模板化控件,删掉Themes/Generic.xaml中的<Style TargetTyp ...

  4. JAVA基础第三章-类与对象、抽象类、接口

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  5. eShopOnContainers 知多少[7]:Basket microservice

    引言 Basket microservice(购物车微服务)主要用于处理购物车的业务逻辑,包括: 购物车商品的CRUD 订阅商品价格更新事件,进行购物车商品同步处理 购物车结算事件发布 订阅订单成功创 ...

  6. 手写事件代理函数 (Delegated function)

    ‘手写 ’ 这个词 ,面试是不是听过无数遍呢 ! 今天我们来手写一个这样的事件委托函数 => function( parent, selector, type ,  handle)  {} 你需 ...

  7. CART决策树和随机森林

    CART 分裂规则 将现有节点的数据分裂成两个子集,计算每个子集的gini index 子集的Gini index: \(gini_{child}=\sum_{i=1}^K p_{ti} \sum_{ ...

  8. Android6.0 源码修改之 Contacts应用

    一.Contacts应用的主界面和联系人详情界面增加顶部菜单添加退出按钮 通过Hierarchy View 工具可以发现 主界面对应的类为 PeopleActivity 联系人详情界面对应的类为 Qu ...

  9. 【Java】广州三本秋招经历

    前言 只有光头才能变强 离上次发文章已经快两个月时间了,最近一直忙着秋招的事.今天是2018年10月22日,对于互联网行业来说,秋招就基本结束了.我这边的流程也走完了(不再笔试/面试了),所以来写写我 ...

  10. Python之路【第五篇】:Python基础之文件处理

    阅读目录 一.文件操作 1.介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操 ...