Service 在RIA服务中修改变更集

Service 在RIA服务中修改变更集,service,ria,Service,Ria,我将RIA服务Beta 2与Linq2Sql和SL3一起使用。在我的SL3中,我有一个datagrid,在那里我可以进行一些数据映射(更新、插入和删除)。我在调用SubmitChanges()时重写Submit方法。在域服务中的submit方法中,我进行了一些验证。如果变更集中某个特定变更集条目的验证失败,则会添加ValidationErrors。然后我调用base.Submit(变更集) 因此,如果变更集有3个实体,其中一个实体导致验证错误,那么其他2个实体也将回滚。看起来,RIA服务执行隐式

我将RIA服务Beta 2与Linq2Sql和SL3一起使用。在我的SL3中,我有一个datagrid,在那里我可以进行一些数据映射(更新、插入和删除)。我在调用SubmitChanges()时重写Submit方法。在域服务中的submit方法中,我进行了一些验证。如果变更集中某个特定变更集条目的验证失败,则会添加ValidationErrors。然后我调用base.Submit(变更集)

因此,如果变更集有3个实体,其中一个实体导致验证错误,那么其他2个实体也将回滚。看起来,RIA服务执行隐式事务,因此它要么提交全部3个,要么不提交,即使3个中的2个没有任何验证错误。RIA服务是否有办法防止有效实体的回滚,只使验证失败的实体失效

我们将感谢您的投入

谢谢
Mohit

首先,我有点搞不清楚您是如何或为什么使用SL3的,因为它只有Beta 1支持

是否有不使用内置验证的原因?如果您进行了大多数验证,则会在客户端捕获,并在服务器提交之前进行更正

通过重写PersistChangeSet方法,您可能能够实现您想要的,但是如果只有一些实体被持久化,我会担心如何保持客户端与服务器同步