2013-04-30 147 views
1

我使用SUP 2.1.3删除的项目

我已经花了几个小时,试图找出为什么我删除的任何项目正在与SUP缓存器同步的同步。

似乎删除您创建的MBO实例的唯一方法是调用CancelPending()。

我读过文档,它说调用Delete(),但删除不会与任何实现生成。

删除功能,像这样产生的:

public void Delete() 

    { 

     throw new Sybase.Persistence.NoSuchOperationException(); 

    } 

所以,当我在MBO比如我想删除调用CancelPending(),它在本地删除它,但是当设备同步发送所有待处理的对象(包括已删除的)到Sybase服务器。

看起来好像当它执行同步时,它会回滚将它们发送到服务器的删除操作,然后提交设备上的更改。

如果有人在这里有SUP任何经验,我将不胜感激帮助

更新: 好了,所以我想通了它只能执行逻辑删除不是实际删除,所以我的问题是如何能我删除对象,但不是与服务器同步?

回答

0

好吧,我发现了这个问题。建议在创建每个对象后调用SubmitPending()的文档,因为性能要好于调用SubmitionPendingOperations()

这是为Synchronization锁定对象,并且不允许在对象上删除或更新调用。

删除此项并执行SubmitPendingOperations()以在执行同步之前提交创建的项目解决了我的问题。

对于任何其他从Sybase Unwired Platform开始的人来说,只有在您知道事实不会改变对象

时才呼叫 SubmitPending()