EFCore 实体追踪
理解:
EFCore通过一种机制实时追踪实体的属性是否有改变的一种机制,比如下方代码
通过EFCore查出来的数据List集合里的实体,在item.Manager = "菲菲";属性改变后,EFCore自动将实体的状态更改为Modified,
context.SaveChanges();只会提交状态标记为“Modified”的实体对象
IQueryable<Classes> List = context.Classeses.Where(s => s.Name.Contains("二年"));
foreach (var item in List)
{
item.Manager = "菲菲";
}
context.SaveChanges();
等价代码
IQueryable<Classes> List = context.Classeses.Where(s => s.Name.Contains("二年")).AsNoTracking();
foreach (var item in List)
{
item.Manager = "菲菲";
context.Entry(item).State = EntityState.Modified;
}
context.SaveChanges();
在上述代码里我们通过EFCore查询实体时,设置实体的状态为不追踪,取消追踪性能会更好。但是有相关更改操作的时候要手动标记实体更改状态
context.Entry(item).State = EntityState.Modified;
如果不手动标记,context.SaveChanges();不会提交更改
EFCore 实体追踪的更多相关文章
- FreeSql (三)实体特性
主键(Primary Key) class Topic { [Column(IsPrimary = true)] public int Id { get; set; } } 约定: 当没有指明主键时, ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- 从壹开始微服务 [ DDD ] 之终篇 ║当事件溯源 遇上 粉丝活动
回首 哈喽~大家好,时间过的真快,关于DDD领域驱动设计的讲解基本就差不多了,本来想着周四再开一篇,感觉没有太多的内容了,剩下的一个就是验证的问题,就和之前的JWT很类似,就不打开一个章节了,而且这个 ...
- 【开源】OSharpNS,轻量级.net core快速开发框架发布
OSharpNS简介 OSharp Framework with .NetStandard2.0(OSharpNS)是OSharp的以.NetStandard2.0为目标框架,在AspNetCore的 ...
- [开源]OSharpNS - .net core 快速开发框架 - 快速开始
什么是OSharp OSharpNS全称OSharp Framework with .NetStandard2.0,是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架.这个 ...
- FreeSql (三十二)Aop
FreeSql AOP 已有的功能介绍,未来为会根据用户需求不断增强. 审计 CRUD 马云说过,996是修福报.对于多数程序员来说,加班是好事...起码不是闲人,不会下岗. 当如果因为某个 sql ...
- 在 ABP vNext 中编写仓储单元测试的问题一则
一.问题 新项目是基于 ABP vNext 框架进行开发的,所以我要求为每层编写单元测试.在同事为某个仓储编写单元测试的时候,发现了一个奇怪的问题.他的对某个聚合根的 A 字段进行了更新,随后对某个导 ...
- [开源] .Net orm FreeSql 1.5.0 最新版本(番号:好久不见)
废话开头 这篇文章是我有史以来编辑最长时间的,历时 4小时!!!原本我可以利用这 4小时编写一堆胶水代码,真心希望善良的您点个赞,谢谢了!! 很久很久没有写文章了,上一次还是在元旦发布 1.0 版本的 ...
- EF Core 三 、 EF Core CRUD
EF Core CRUD 上篇文章中,我们已经基本入门了EFCore,搭建了一个简单的EFCore项目,本文开始简单使用下EF,做增删改查的相关操作: 一.数据新增操作(C) public stati ...
- .Net orm 开源项目 FreeSql 2.0.0(满意的答卷)
写在开头 2018年11月头脑发热到今天,一晃已经两年,当初从舒服区走向一个巨大的坑,回头一看后背一凉. 两年时间从无到有,经历数不清的日夜奋斗(有人问花了多长时间投入,答案:全职x2 + 两年无休息 ...
随机推荐
- DBeaver连接PostgreSQL后只有默认数据库“postgres”不显示其他数据库的问题解决办法
我们在使用DBeaver连接PostgreSQL后,发现数据库中只有"postgres"默认数据库,不显示我们自己创建的数据库. 1.问题描述 我们在使用DBeaver连接Post ...
- 使用guava的cache实现缓存
一.maven <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- FLink怎么做压力测试和监控?
我们一般碰到的压力来自以下几个方面: 一,产生数据流的速度如果过快,而下游的算子消费不过来的话,会产生背压问题.背压的监控可以使用Flink Web UI(localhost:8081)来可视化监控, ...
- 深入浅出 Vue3:组件与模板基础全解析
一.Vue3 组件结构详解 1.1 单文件组件(SFC)架构 Vue3采用.vue单文件组件模式,一个典型组件包含三个区块: <template> <!-- 组件的HTML模板 -- ...
- 从零开始!Jupyter Notebook 安装教程
一.引言 Jupyter Notebook 是一款非常实用的交互式编程环境,广泛应用于数据分析.机器学习.教学等领域.在安装 Jupyter Notebook 之前,需要确保计算机已安装 Python ...
- hgame2025-Crypto小记
hgame2025-Crypto小记 发现积压在文件夹有一段时间了.整理一下发出来. suprimeRSA task.py from Crypto.Util.number import * impor ...
- 【文献阅读】 PVDF &阻尼&有限元建模
1. 压电Damper原理 Piezoelectric Composite Materials - ScienceDirect 当振动传递到压电材料时,振动能量通过压电效应转化为电能,产生交流电压.所 ...
- pycharm clone GitHub 提示 OpenSSL SSL_read: Connection was reset, errno 10054
配置界面 错误提示 原因分析 clone的时候需要安全认证,当你在配置页面勾选上ssh ,就会报错 解决方案 在cmd里输入命令,然后再clone git config --global http.s ...
- 【Bug记录】defineEmits 在 TS 项目报错
前言 单文件组件 <script setup> 是 Vue3.2 版本后非常流行的写法. 但是在开发过程中,按照官网使用 defineEmits ,结果项目报错,无法运行. 错误截图 Un ...
- docker 超出共享内存限制 RuntimeError: DataLoader
前言 docker 运行时报错: RuntimeError: DataLoader worker (pid 86) is killed by signal: Bus error. It is poss ...