我在使用 WCF RIA 服务时遇到以下问题:我有一个表Customer 和一个表Address。一个客户可以有 0...n 个地址。有一个用于编辑客户的表单,其中包含一个显示地址的数据网格。您可以通过单击添加/编辑 在子窗口中添加/编辑地址。事情是这样的:
问题在于用户应该始终能够取消编辑。这不是问题除了:如果您创建一个新客户并向该客户添加一个地址,那么想要编辑地址但又想取消该编辑。
- 您不能对上下文执行 RejectChanges,因为它会删除客户的地址。
- 您不能使用单独的上下文,因为那样您就无法建立外键关系。
你们会如何解决这个问题?
最佳答案
实体实现 IRevertibleChangeTracking 来支持这种情况。由于它是显式实现的,因此您必须强制转换它。以下代码将起作用。
((IRevertibleChangeTracking)address).RejectChanges();
关于c# - RejectChanges 特定实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137810/