Entity Framework中怎样知道数据是否修改?

lanman 2012-10-09 05:15:34
我们知道可以用
context.SaveChanges()方法来保存数据,但是一般情况下保存前需要进行一个是否保存的提示
那么怎么才能知道context里面的数据是否被修改或增删过??
...全文
10754 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我觉得,是不是改变了,你应该自己设变量跟踪,而不是去问 context
种草德鲁伊 2012-10-10
  • 打赏
  • 举报
回复
其实楼主已经知道思路了,应该是从ObjectStateManager入手的,它就有个GetObjectStateEntries方法,用来获取某个状态有哪些对象,这里不用管什么INotifyPropertyChanged
lanman 2012-10-10
  • 打赏
  • 举报
回复
嗯,看到了,对于具体的Entity实体来说,确实有PropertyChanged PropertyChanging这两个事件,但是这个没办法拿来用。我不可能对每一个Entity都去写一个PropertyChanged 事件判断程序吧。

我需要的是从ObjectContext层面来获取是否对象发生了改变,因为有ObjectContext.SaveChanges()这个方法,所有我想应该有相应的机制来知道哪些对象发生了变化,至少知道是否有对象发生了变化。
种草德鲁伊 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

它会实现 INotifyPropertyChanged 接口,当你修改属性时就会将数据标记为脏的。
[/Quote]

它是谁?
lanman 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

它会实现 INotifyPropertyChanged 接口,当你修改属性时就会将数据标记为脏的。
[/Quote]

INotifyPropertyChanged 接口具体怎么用? 我只找到个ObjectStateManagerChanged事件,但是好象并不是我需要的东西。
shmilynudt 2012-10-09
  • 打赏
  • 举报
回复
那怎么知道是否含有脏数据呢?有没有测试函数?
devmiao 2012-10-09
  • 打赏
  • 举报
回复
它会实现 INotifyPropertyChanged 接口,当你修改属性时就会将数据标记为脏的。

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧