EF会根据EntityState这个枚举检测到实体的状态,然后执行相应的增/删/改操作

该状态对应的值为以下五种:

Detached:对象存在,但未由对象服务跟踪。在创建实体之后、但将其添加到对象上下文之前,该实体处于此状态;

Unchanged:自对象加载到上下文中后,或自上次调用 System.Data.Objects.ObjectContext.SaveChanges() 方法后,此对象尚未经过修改;

Added:对象已添加到对象上下文,但尚未调用 System.Data.Objects.ObjectContext.SaveChanges() 方法;

Deleted:使用 System.Data.Objects.ObjectContext.DeleteObject(System.Object) 方法从对象上下文中删除了对象;

Modified:对象已更改,但尚未调用 System.Data.Objects.ObjectContext.SaveChanges() 方法。

 <span style="white-space:pre"> </span>[HttpPost]public ActionResult Edit(TestDataDB testdatadb){if (ModelState.IsValid){Console.WriteLine(db.Entry(testdatadb).State); //枚举值为Detacheddb.Entry(testdatadb).State = EntityState.Modified;Console.WriteLine(db.Entry(testdatadb).State); //枚举值为Modifieddb.SaveChanges();Console.WriteLine(db.Entry(testdatadb).State);//枚举值为Unchangedreturn RedirectToAction("Index");}return View(testdatadb);}
<span style="white-space:pre">  </span>[HttpPost, ActionName("Delete")]public ActionResult DeleteConfirmed(int id){TestDataDB testdatadb = db.TestDataDBS.Find(id);Console.WriteLine(db.Entry(testdatadb).State);//枚举值为Unchangeddb.TestDataDBS.Remove(testdatadb);Console.WriteLine(db.Entry(testdatadb).State);//枚举值为Deleteddb.SaveChanges();Console.WriteLine(db.Entry(testdatadb).State);//枚举值为Detachedreturn RedirectToAction("Index");}

C# EF EntityState的几种状态相关推荐

  1. 【EF学习笔记09】----------使用 EntityState 枚举标记实体状态,实现增删改查

    [EF学习笔记09]----------使用 EntityState 枚举标记实体状态,实现增删改查 讲解之前,先来看一下我们的数据库结构:班级表 学生表 如上图,实体状态由EntityState枚举 ...

  2. TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集

    第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是"虚拟局域网".LAN可以是由少数几台家用计算机构成的网络,也可以是 ...

  3. linux六种进程状态,Linux操作系统中进程的七种状态

    Linux操作系统中进程的七种状态 发布时间:2018-05-07 20:43, 浏览次数:741 , 标签: Linux 1 Linux中进程的七种状态(1)R运行状态(runing):并不意味着进 ...

  4. CPU被夺走的三种状态 执行时间久了 IO操作让cpu等待 被优先级高的抢占

    CPU被夺走的三种状态   .                           cpu的三种状态之              运行态      就绪态等待被调用             阻塞态 i ...

  5. AntD Checkbox 的三种状态处理

    对于单个 Checkbox 来说,只有两种值:选中 (checked) 或未选中 (unchecked) . 但对于 Checkbox Group 来说,却有三种值:全选 (checked) .部分选 ...

  6. zabbix Server 4.0 监控TCP的12种状态

      zabbix Server 4.0 监控TCP的12种状态 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家对TCP三次握手比较熟悉了,都知道当发生DOSS攻击时,客户端发送 ...

  7. 线程五种状态(新建、就绪、运行、阻塞、死亡)

    线程的5种状态: 每个 Java 程序都有一个缺省的主线程,对于 Java 应用程序,主线程是 main()方法执行的线索: 对于 Applet 程序,主线程是指挥浏览器加载并执行 Java Appl ...

  8. 量子计算的基本原理——本质上是在操作薛定谔的猫(同时去运算和操作死+不死两种状态)...

    摘自:https://www.zhihu.com/question/26933442/answer/34797301 更新了!~更新了!稍微写的更详细一点.我觉得这样应该能懂了. 请专家指正.下面论述 ...

  9. TCP协议连接的11种状态浅谈

    了解TCP的协议可以在很大程度上帮助我们分析服务器当前的TCP连接状态,同时也是排查一些网络故障的基础,首先来看一下TCP协议的三次握手与四次断开. TCP协议三次握手   1.客户端首先发起连接,也 ...

最新文章

  1. 自定义元素探秘及构建可复用组件最佳实践
  2. 汇编 过程 创建并测试 proc endp call ret uses
  3. linux export_symbol 变量,linux EXPORT_SYMBOL
  4. DP专题训练之HDU 1087 Super Jumping!
  5. 设计模式笔记(24)---访问者模式(行为型)
  6. 大脑使用书全6册有用吗_常锻炼“人体第二大脑”的孩子,不仅智商高,记忆力也很强...
  7. 面试项目亮点_程序员面试时这样介绍自己的项目经验,等于成功了一大半
  8. MongoDB两阶段提交实现事务
  9. python第三方库安装(复习)
  10. lucene使用与优化
  11. java实现复制文件目录及文件到指定路径下
  12. AlphaGo开源代码
  13. office 2019 word鼠标点击反应慢要等一下
  14. iOS开发之Tom猫
  15. 三级等保 mysql8.0.24密码策略设置
  16. Silverlight Blend动画设计系列十一:沿路径动画(Animation Along a Path)
  17. Vue 一套构建用户界面的渐进式的框架(条件与循环篇~)
  18. 计算机十大算法应用 知乎,2019 智源·知乎看山杯算法大赛收官:7 支团队脱颖而出,单人队荣摘桂冠!...
  19. 数据库优化——为什么要建立联合索引
  20. 【电子邮件提醒】用python写个能发邮件的脚本

热门文章

  1. object的部分属性和方法 + 逗号操作符 + label语句 + with + switch + 参数 + typeof和instanceof检测类型 -- 大一下第十五周
  2. JAVA EE 7 SDK Tutorial分析
  3. 程序员最想拥有的编程语言,Python 排第一!
  4. dell服务器连接显示器黑屏,显示器维修-DELL 通病:开机黑屏-视显光电
  5. 远古历史研究的魅力与挑战
  6. 站长平台改版工具无法使用的解决方法
  7. 10 个 Python 脚本来自动化你的日常任务
  8. 基于JAVA儿童成长记录系统计算机毕业设计源码+系统+lw文档+部署
  9. Win7上装双系统,完美体验Win8(傻瓜操作,简单易懂,亲测成功)
  10. 一个关于“系统架构图怎么画?”的问题