在还离线添加项目时,Azure移动服务离线同步不会删除离线

时间:2019-01-14 10:29:02

标签: c# azure mvvm azure-mobile-services

我正在使用Azure移动服务在wpf mvvm应用程序中同步脱机数据。 当应用程序在线时,CRUD可以正常工作,但是当脱机并添加新记录并将其删除时,会出现此错误:

  

Message =“该项目在本地存储中处于不一致状态。请在删除该项目之前,通过调用PushAsync()完成未完成的同步。”

我也尝试清除记录,但记录会返回

  

该表具有待处理的操作,因此无法清除。

删除:

            try
            {
                await _client.GetSyncTable<TEntity>().DeleteAsync(Model);
                await _client.SyncAsync();
            }
            catch (InvalidOperationException invex)
            {
                var query = _client.GetSyncTable<TEntity>().CreateQuery().Where(el => el.Id == Model.Id);
                await _client.GetSyncTable<TEntity>().PurgeAsync($"purgeEtBla", query,true,CancellationToken.None);
                await _client.SyncAsync();
            }

添加:

 var entity = _mapper.Map<TEntity>(EntityViewModel);
 await _client.GetSyncTable<TEntity>().InsertAsync(entity);
 _list.AddEntity(entity);
 window?.Close();
 await _client.SyncAsync();

0 个答案:

没有答案