8.翻译:EF基础系列----EF中实体的状态
原文链接:http://www.entityframeworktutorial.net/basics/entity-states.aspx
在实体的生命周期中,EF API维护着每一个实体的状态,对于每个实体来说,通过上下文类对其执行的操作的时候,都有一个状态。实体的状态是一个枚举,在EF 6中是System.Data.Entity.EntityState类型的枚举,而在EF Core中是这样的类型的枚举Microsoft.EntityFrameworkCore.EntityState。枚举的值有以下这些:
- Added
- Modified
- Deleted
- Unchanged
- Detached
上下文类不仅包含从数据库中检索到的对所有实体对象的引用,还可以跟踪实体状态并维护对实体属性所做的修改。这一特征就称为变更跟踪。
实体状态从Unchanged-->Modified状态,是上下文自动处理的。其他状态的改变,必须要显式的使用DBContext或者DbSet中的方法来变更。(后面章节你将会学到。)
当上下文类的SaveChanges方法被调用的时候,EF API 就会根据实体的状态执行相应的操作.(增删查改操作)。实体状态是Added,就执行Insert命令,实体状态是Modified就执行Update命令,实体状态是Deleted就执行删除操作。注意的是,上下文不会跟踪实体的Detached状态,请看下面图形:

实体状态在Entity Framework中起着很重要的作用。
好了,EF的基础系列,第八篇就介绍完了。有不明白的可以留言,谢谢支持。
附录:
EF 6官方文档: https://docs.microsoft.com/zh-cn/ef/ef6/
EF Core官方文档:https://docs.microsoft.com/zh-cn/ef/core/
8.翻译:EF基础系列----EF中实体的状态的更多相关文章
- 10.翻译:EF基础系列---EF中的持久性
原文链接:http://www.entityframeworktutorial.net/EntityFramework4.3/persistence-in-entity-framework.aspx ...
- 7.翻译:EF基础系列---EF中的实体类型
原文地址:http://www.entityframeworktutorial.net/Types-of-Entities.aspx 在Entity Framework中有两种实体类型:一种是POCO ...
- 5.翻译:EF基础系列---EF中的上下文类
原文地址:http://www.entityframeworktutorial.net/basics/context-class-in-entity-framework.aspx EF中的上下文类是一 ...
- 4.翻译:EF基础系列--EF架构
原文地址:http://www.entityframeworktutorial.net/EntityFramework-Architecture.aspx 下面的图形,展示了EF的总体架构: 让我们来 ...
- 3.翻译:EF基础系列--EF怎么工作的?
原文链接:http://www.entityframeworktutorial.net/basics/how-entity-framework-works.aspx 这里,你将会大概了解到EF是怎么工 ...
- 1.翻译:EF基础系列--什么是Entity Framework?
大家好,好久不见,EF系列之前落下了,还是打算重新整理一下. 先说说目前的打算:先简单了解一下EF基础系列-->然后就是EF 6 Code-First系列-->接着就是EF 6 DB-Fi ...
- 【Basics of Entity Framework】【EF基础系列1】
EF自己包括看视频,看MSDN零零散散的学了一点皮毛,这次打算系统学习一下EF.我将会使用VS2012来学习这个EF基础系列. 现在看看EF的历史吧: EF版本 相关版本特性介绍 EF3.5 基于数据 ...
- 6.翻译:EF基础系列---什么是EF中的实体?
原文地址:http://www.entityframeworktutorial.net/basics/what-is-entity-in-entityframework.aspx EF中的实体就是继承 ...
- 9.翻译:EF基础系列---使用EF开发的方式有哪些?
原文链接:http://www.entityframeworktutorial.net/choosing-development-approach-with-entity-framework.aspx ...
随机推荐
- 【linux】ubuntu中上下左右键变为^[[A^[[B^[[D^[[C问题处理
问题现象: 使用上下左右键时,结果为 ^[[A^[[B^[[D^[[C,如图: 原因在于ubuntu系统自带的 vi 不完整导致. 解决方法:安装完整的vi $ sudo apt-get instal ...
- Want to write a book? Use word count to stay on track
http://paloalto.patch.com/groups/maria-murnanes-blog/p/bp--want-to-write-a-book-use-word-count-to-st ...
- HDS Truecopy实现原理及项目的选择-诸多案例
copy from:http://www.eygle.com/archives/2009/05/hds_truecopy_dataguard.html 诸多案例:http://wenku.baidu. ...
- Go语言中Socket通信TCP服务端
1.用法: (1)定义远程IP地址.使用net.ResolveTCPAddr()方法,定义一个TCP地址,做为本机监听地址. (2)使用net.ListenTCP("tcp",lo ...
- XWindow、Server、Client和QT、GTK之间的关系
X WINDOW X Window从逻辑上分为三层:X Server.X Client和X协议.最底层的X Server(X服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘.鼠标的操作并将 ...
- pip安装psutil模块时候报错:yum install python-devel mysql-devel zlib-devel openssl-devel
yum install python-devel mysql-devel zlib-devel openssl-devel [root@localhost software]# pip install ...
- 使用Dom4j创建xml文档
我们学习dom4j为的就是使用它来创建XML文档.读取文档等更为方便,下面通过一个实例来展示如何通过dom4j去创建XML文档.展示怎样通过两种方式去创建元素,可以直接通过addElement方法返回 ...
- yii框架的部署方法
yii框架(yii framework)的部署方法 刚開始学习的人来说,部署yii框架还是有一定难度的,Yii是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web ...
- 12、java5锁java.util.concurrent.locks.Lock之ReentrantLock
JDK文档描述: public interface LockLock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作.此实现允许更灵活的结构,可以具有差别很大的属性,可 ...
- 【重要】python之模块CGI 通用网关接口
# -*- coding: utf-8 -*- #python 27 #xiaodeng #CGI模块 import CGI #通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户 ...