在我的数据库中,我有三个实体:User,List和UserList(代表用户和List之间的多对多关系)。在我的应用程序中,我使用StoreTrackingOptions.NotifyLocalAndServerOperations跟踪选项初始化了SyncContext。
await Client.SyncContext.InitializeAsync(_store, StoreTrackingOptions.NotifyLocalAndServerOperations);
当我的应用程序为给定用户运行时,当我为该用户添加新的List关联时(通过将链接记录插入UserList),我能够检测到此更改:
var subscription = Client.EventManager.Subscribe<StoreOperationCompletedEvent>(async (storeEvent) => await StoreChangedEventHandler(storeEvent));
protected async Task StoreChangedEventHandler(StoreOperationCompletedEvent storeEvent) {..}
现在请注意,创建链接将拉取User的UserList记录以及UserList引用的List记录。
当我删除此链接记录时,没有通知我的客户端。
问题:这种通知(已删除的记录)是否可能?如果是这样,我该如何实现?
我通过在服务器上启用软删除(Azure Mobile Server SDK)解决了这个问题。通过这样做,所有软删除的记录被拉回到客户端,我可以过滤它们进行演示。适合我,但可能不适用于其他所有人。