随笔分类 - 03-EF Core
摘要:一. 各种性能测试 这里分享EF、EFCore、EF Core调用SQL语句 分别在1000条、1w、4w、10w下的增删改查需要的时间。(括号里代表的都是对应的range方法) 1. EF测试 2. EFCore测试 3. EF Core调用SQL语句 4. EFCore组装成SQL语句,inse
阅读全文
摘要:1.使用DbContext池 在Core Mvc中,如果使用 AddDbContextPool 方法,那么在控制器请求 DbContext 实例时,我们会首先检查池中有无可用的实例。 请求处理完成后,实例的任何状态都将被重置,并且实例本身会返回池中。 从概念上讲,此方法类似于 ADO.NET 连接池
阅读全文
摘要:一. 简介 1.背景 索引用于快速找出在某个列中有某一特定值的行,不使用索引,数据库必须从第一条记录开始读完整个表,直到找出相关的行。表越大,查询数据所花费的时间越多, 如果表中查询的列有一个索引,数据库能快速到达一个位置去搜索数据。 2.含义 索引是一个单独的,存储在磁盘上的数据结构,它们包含对数
阅读全文
摘要:一. SqlMethods操作 1. Like 自定义的通配表达式。%表示零长度或任意长度的字符串;_表示一个字符;[]表示在某范围区间的一个字符;[^]表示不在某范围区间的一个字符。 (1). 例如:查询消费者ID以“C”开头的消费者。 var q = from c in db.Customers
阅读全文
摘要:一. 排序(orderby ) 1. 说明 用于对查询出来的语句进行排序,orderby 默认是升序的;降序则用 orderby xxx descending。如果是多条件排序,则在orderby后面写多个排序条件,用 逗号 隔开,如果哪个字段是要降序排列,则在它后面加descending。 2.
阅读全文
摘要:从该节开始,连着三节都讲介绍Linq的各种用法,分类如下图,主要围绕下图进行讲解: 参考文档: 101个例子:https://github.com/lupino3/101-linq-samples-core 官方API:https://docs.microsoft.com/zh-cn/dotnet/
阅读全文
摘要:一. CodeFirst模式指令 1.前提: 必须的程序集: Microsoft.EntityFrameworkCore.Tools Microsoft.EntityFrameworkCore.Design EF自身的程序集:Microsoft.EntityFrameworkCore Microso
阅读全文
摘要:一. 前提 1.安装EF Core连接MySQL的驱动,这里有两类: (1).Oracle官方出品:MySql.Data.EntityFrameworkCore (版本:8.0.17) (2).其他第三方出品:Pomelo.EntityFrameworkCore.MySql (版本:2.2.0) P
阅读全文
摘要:一. 查询类 EFCore2.x中用 FromSql 方法,EFCore3.x中用 FromSqlRaw 方法,二者使用起来基本一致。 1.说明 A. SQL查询必须返回实体的所有属性字段。 B. 结果集中的列名必须与属性映射到的列名相匹配。 C. SQL查询不能包含关联数据 D. 除Select以
阅读全文
摘要:一. 相关概念 前面系列中的章节的: 第二十二节: 以SQLServer为例介绍数据库自有的锁机制(共享锁、更新锁、排它锁等)和事务隔离级别 介绍了各种锁以及事务的隔离级别,是从数据库的角度进行介绍的,本章节是通过EF Core为载体,介绍事务隔离级别和相关问题,与上述章节有些许重复的内容。 1.
阅读全文
摘要:一. 说明 EF版本的事务介绍详见: 第七节: EF的三种事务的应用场景和各自注意的问题(SaveChanges、DBContextTransaction、TransactionScope)。 本节主要介绍EF Core下的三种事务的用法和各自的使用场景,其中SaveChanges和DBContex
阅读全文
摘要:1.说明 和EF版本的并发处理方案一致,需要知道乐观并发和悲观并发的区别,EF Core只支持乐观并发;监控并发的两种方案:监测单个字段和监测整条数据,DataAnnotations 和 FluentApi的两种配置方式。 (PS:EF Core中的并发处理模式和EF中的基本类似,其他相关概念参考:
阅读全文
摘要:一. 配置相关 1. 数据库连接字符串的写法 (1).账号密码:Server=localhost;Database=EFDB01;User ID=sa;Password=123456; (2).windows身份:Server=localhost;Database=EFDB01;Trusted_Co
阅读全文
摘要:一. 整体说明 1. 本节用到的表 2. 状态说明补充 ①.Detached: 游离的状态,与数据库没有什么交涉,比如新new一个实体,状态就是Detached。 ②.Added: 增加的状态。 ③.Deleted: 删除的状态。 ④.Modified: 修改的状态。 ⑤.Unchanged: 与数
阅读全文
摘要:一. EF简介 1. 定义 Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台的数据访问技术,它还是一种对象关系映射器(ORM),它使.NET 开发人员能够使用面向对象的思想处理数据库, 它消除了开发人员通常需要编写大量数数据访问代码的需要。 2. 几点说明 (1)
阅读全文
摘要:一. 说明 从最初的EFCore2.0 → EFCore3.0 → EFCore3.1 → EFCore5.x→ EFCore6.x→ EFCore7.x→ EFCore7.x, 目前最新8.x,已完结 二. 系列章节 第一节:EF Core简介和CodeFirst和DBFirst两种映射模式(以S
阅读全文