如何判断DataContext有修改:

EF6的

using (var db = new Model1())
{if (db.ChangeTracker.HasChanges()){Console.WriteLine("Something has changed");}
}

EF5中:

public bool HasUnsavedChanges(){return this.ChangeTracker.Entries().Any(e => e.State == EntityState.Added|| e.State == EntityState.Modified|| e.State == EntityState.Deleted);}

EF4中为:

public Boolean HasUnsavedChanges(){return (this.ObjectContext().ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Deleted).Any());}

DataContext如何放弃修改的建议:

this is not supposed way to use context. Context is unit of work - do changes you really want to do and then save them. If you find that you don't want to save changes dispose the context and create a new one. The best practice is using context for one single logical operation. Sharing context or using static context is a bad practice and because of that there is no build in method to "reset" context - you must do it yourselves by exploring ObjectStateManager and reverting all changes (it can be quite complex task).

参考

Entity Framework 5 - DbContext Has Changes

Entity Framework 6.1 is context dirty

转载于:https://www.cnblogs.com/HQFZ/p/4159100.html

EF6 如何判断DataContext有修改,以及如何放弃修改相关推荐

  1. php判断表单修改内容,JavaScript判断用户是否对表单进行了修改的方法_javascript技巧...

    本文实例讲述了JavaScript判断用户是否对表单进行了修改的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以判断出用户是否对表单内容进行了修改,如果修改了表单,并退出浏览器,则会提醒用 ...

  2. mysql 中修改对象_在MySQL中,创建一个数据库后,还可以对象其进行修改,不过这里的修改是指可以修改被创建数据库的相关参数,也可以修改数据库名。...

    [多选题]注射时,在(  )情况下,采用较高的注射速率. [单选题]通常,所设置的模具温度是指和制品接触的模腔内表面在(   ). [单选题]反映某一事件发生强度的指标应选用 [判断题]当试样制备之后 ...

  3. python修改html的td_python3修改HTMLTestRunner,生成有截图的测试报告,并发送测试邮件(二)...

    3. 如何将第一步得到的地址和名称 输入 进第二步里的表格中呢... 用上述查找元素的方法,发现HTMLTestRunner.py中REPORT_TEST_WITH_OUTPUT_TMPL是用来输出测 ...

  4. python修改文件创建时间,修改时间,访问时间

    使用python完成对文件的 创建 修改 访问时间的修改 import random from win32file import CreateFile, SetFileTime, GetFileTim ...

  5. el-checkbox状态值修改而样式不修改的原因

    el-checkbox状态值修改而样式不修改的原因 首先,是最近项目遇到的一个坑 需求是:我先调接口,获取到所有的没有选中状态的checkbox的label值等各项属性并渲染,随后再调接口获取到已选择 ...

  6. vue实现echarts树图修改节点图片,修改连线颜色,鼠标悬停显示详情,鼠标右键弹出菜单,搜索,导出PNG,高亮,查看节点是否还有子节点,修改树图的展示方式

    其实这些效果之前都有用js写过,但是最近在写vue项目,里面的些许语法还是有些不一样的,所以还是写一遍文章总结一下,下次遇到就可以直接用了. 如果想看js写法,可以看我别的文章 首先,实现效果入下图: ...

  7. git放弃修改放弃增加文件

    1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改. 单个文件/文件夹: git checkout -- filename 所有文件/文件夹: git checkout . 2. ...

  8. 网址服务器地址修改,网址服务器地址修改

    网址服务器地址修改 内容精选 换一换 下载地址:https://github.com/pypa/setuptools打开网址后找到版本v29.0.1并下载,如下图所示.下载地址:https://pyp ...

  9. 【Android 应用开发】Android 工程修改包名流程 ( 修改 applicationId | 修改 package | 修改 R 资源引用 | 修改 BuildConfig 引用 )

    文章目录 一. Android 工程修改包名流程 二. 修改 applicationId 三. 修改 package 包名 四. AndroidManifest.xml 清单文件组件 五. 修改 R ...

最新文章

  1. OKR和绩效管理如何一起工作?
  2. jQuery 之 [ 动画 ]
  3. 双11不过瘾?双十二低至半价继续抢,更有免费学的机会等你抢!
  4. 知乎高赞:如果你是一个 Java 面试官,你会问哪些问题....
  5. 机器学习入门——K近邻算法
  6. 排序算法之——选择排序分析
  7. 从上往下打印二叉树(C++)
  8. Struts2之异常处理
  9. bin/arm-linux-androideabi-nm: libtinfo.so.5: cannot open shared object file: No such file or directo
  10. 使用SQLyog创建表
  11. 前端pdf禁止下载功能
  12. 力扣刷题-动态规划算法3:完全背包问题
  13. ubuntu 14.10 使用极点五笔输入法
  14. 路由器dns被劫持怎么办 路由器DNS被劫持解决方法
  15. c语言用while实现输出加法口诀表,「加法口诀」C语言编写一个加法口诀表 - 金橙教程网...
  16. linux 使用 tmux 运行后台程序
  17. 00 大数据架构课程导论
  18. 阿里云学生机 部署JavaWeb项目
  19. 矩阵、变换和空间的关系
  20. 虚拟现实的未来—云VR将是VR发展的最佳选择和必然趋势!

热门文章

  1. [Redux/Mobx] redux和flux的区别是什么?
  2. 前端学习(3297):effect的使用
  3. [jQuery] 你知道自定义事件吗?jQuery里的fire函数是什么意思,什么时候用?
  4. [css] 说说浏览器解析CSS选择器的过程?
  5. [css] 你有使用过css的writing-mode属性吗?说说它有哪些应用场景?
  6. 工作322:uni-扩展运算符实现拼接合并操作
  7. 前端学习(2532):Vuex中action
  8. 前端学习(2528):一个简单的vue app
  9. 前端学习(2236):react的列表渲染二
  10. 前端学习(221):字体属性