c# - RejectChanges 特定实体

标签 c# silverlight silverlight-4.0 wcf-ria-services

我在使用 WCF RIA 服务时遇到以下问题:我有一个表Customer 和一个表Address。一个客户可以有 0...n 个地址。有一个用于编辑客户的表单,其中包含一个显示地址的数据网格。您可以通过单击添加/编辑 在子窗口中添加/编辑地址。事情是这样的:

问题在于用户应该始终能够取消编辑。这不是问题除了:如果您创建一个新客户并向该客户添加一个地址,那么想要编辑地址但又想取消该编辑。

  • 您不能对上下文执行 RejectChanges,因为它会删除客户的地址。
  • 您不能使用单独的上下文,因为那样您就无法建立外键关系。

你们会如何解决这个问题?

最佳答案

实体实现 IRevertibleChangeTracking 来支持这种情况。由于它是显式实现的,因此您必须强制转换它。以下代码将起作用。

((IRevertibleChangeTracking)address).RejectChanges();

关于c# - RejectChanges 特定实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137810/

相关文章:

c# - MVVM 光 : how to unregister Messenger

c# - Visual Studio 2010 在非 SL 项目中添加 SL 项目引用导致出现警告图标

c# - 在同一进程中处理消息并将其发送到云端而不丢失数据的良好设计是什么?

visual-studio - silverlight 中 CodeFile.cs 和 Class.cs 的区别

c# - 在调试期间在 Visual Studio 中自动附加到子进程

google-chrome - Chrome 不再支持 silverlight 了吗?怎么解决这个问题呢?

c# - 断点不会在 Silverlight 中中断

silverlight-4.0 - 如何为 View 模型实现 IEditableObject?

c# - 为所有线程设置默认线程文化?

c# - 如何通过ef删除asp.net中的children记录