博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于SaveChanges
阅读量:6210 次
发布时间:2019-06-21

本文共 698 字,大约阅读时间需要 2 分钟。

使用EF4在保存时:

SaveChanges()函数有一处重载的方法 :

SaveChanges(SaveOptions)

SaveOptions 这个枚举可以传三个参数:

  • AcceptAllChangesAfterSave:就是把数据保存到数据库以后重置实体的状态。
  • DetectChangesBeforeSave:就是把数据保存到数据库之前同步实体的状态。
  • None:就是把数据保存到数据库之前,不同步实体的状态;把数据保存到数据库以后,也不重置实体的状态。

调用SaveChanges()就等同于SaveChanges(SaveOptions.AcceptAllChangesAfterSave | SaveOptions.DetectChangesBeforeSave);

对象状态:我们的每个新生成的查询返回的实体,都被保存在Context的容器中的缓存中,则ObjectStateManager 负责管理它们的状态。每一个实体只保留一个实例,每次查询只是往缓存增加之前未曾存在过的实体。对于已经存在的实体,只需要从数据库取数据并将它们的值进行合并。为了区别缓存中某个实体的前后变化,就需要专门来管理实体的状态。从数据源取到的数据与缓存中的数据进行合并时,是根据设置的合并策略去合并。

这里用到的“|”为,以前对于枚举的这个内容没有关注,如有记不清楚的,请及时查阅,养成好的习惯,不懂的内容一定要及时解决,

给出两个链接,关于“按位枚举”,

转载于:https://www.cnblogs.com/flyinghigher/archive/2012/05/04/2482402.html

你可能感兴趣的文章
老王学linux-ftp
查看>>
kvm vnc的使用,鼠标漂移等
查看>>
linux中fcntl()、lockf、flock的区别
查看>>
gitlab 2.7版本升级到2.8
查看>>
linux用户空间和内核exit的语义--linux没有线程
查看>>
获取Extjs文本域中的内容
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
Redis-3.2主从复制与集群搭建 推荐
查看>>
随便说说:在ASP.NET应用程序中上传文件
查看>>
【jQuery Demo】图片由下至上逐渐显示
查看>>
在.NET中使用SMTP发送邮件
查看>>
Unity Camera的两种模式
查看>>
3.5. Ticket
查看>>
越狱第一至五季/全集迅雷下载
查看>>
从Mysql slave system lock延迟说开去
查看>>
归并排序
查看>>
RecyclerView的下拉刷新和加载更多 动画
查看>>
ABAP常见面试问题
查看>>
程序猿是如何解决SQLServer占CPU100%的
查看>>
web.xml
查看>>