实体框架4保存并取消

时间:2010-11-03 19:47:51

标签: .net wpf vb.net entity-framework poco

我目前正在测试实体框架4,以寻找我想构建的简单应用程序。

我没有任何运气就搜索了这个答案的高低!

我的问题是如何以记录为基础保存和取消更改?在上下文中使用save changes方法会保留对数据库的所有更改。有没有办法控制这个?

由于 加里

2 个答案:

答案 0 :(得分:7)

您不应对应用程序生命周期内的所有操作使用单一数据上下文。为您要进行的每个原子操作启动一个会话(创建一个数据上下文)。调用SaveChanges提交操作,只需处理上下文而不保存更改“取消”操作。

答案 1 :(得分:0)

听起来你想以不连贯的方式工作。

  1. 使用NoTracking选项从数据上下文加载所有员工。这将加载实体并立即将它们与数据上下文断开连接。
  2. 取消数据上下文。
  3. 点击“保存”后,创建一个新的数据上下文,并将要保存的联系人附加到新数据上下文中;您将能够将联系人标记为已修改。
  4. 在该上下文中保存更改。它会向持久性存储发送更新,例如该联系人的SQL。
  5. 杀死背景。
  6. 转到第3步。
  7. 您可能还想查看不同的EF模板,例如自我跟踪实体,它们可以让您的生活更轻松,因为它们可以生成可以在数据上下文之外跟踪更改的实体;但是对于一个简单的应用程序来说这可能有点过分了。