Ria Services - SubmitChanges()问题。可以一次限制一次更改吗?

时间:2009-06-22 14:19:50

标签: silverlight-3.0 wcf-ria-services

我想一次提交一个实体集合。

这有两个原因: - 我上传了大量数据并提交了超过这些转移的http限制的多个更改。 (我不想改变这个限制) - 我希望看到每个项目的提交进度。

示例:假设我有一张专辑,每张专辑都有一组照片(实体)。 如果用户添加了一些照片,我想一次上传一张照片,而不是一次上传整个照片。

2 个答案:

答案 0 :(得分:4)

如果您想一次提交一个更改,只需在提交编辑,添加或删除实体时调用SubmitChanges ......

通常在你的用户界面中,如果你有某种提交按钮,那么就把它做成两件事 - 本地提交和后续的SubmitChanges。

请注意,您还可以覆盖DomainService上的ValidateChangeSet,以确保ChangeSet中只有一个操作。这可以确保客户不会无意中尝试一次提交多个更改...

答案 1 :(得分:1)

SubmitChanges()将在变更集中提交更改(自加载以来所有更改)。我不知道如何修改它的行为,但你可以在服务中编写自己的更新方法并传入你想要更新的对象

请查看第50页的http://code.msdn.microsoft.com/RiaServices处的riaservicesoverviewpreview.pdf,了解有关更新的一些信息。

编辑:昨天我尝试用WPF做同样的事情时发现了这个方法:link text。我使用了分离然后附加实体的想法(我使用的是一个静态的全局DataContext)。