在我的Xamarin iOS PCL应用程序中,我试图将一条记录插入本地Sqlite表中,使其通过Azure移动服务进行同步,然后再将其读回。
这是代码:

private IMobileServiceSyncTable<Job> jobTable;

public async Task InitializeAsync()
        {
            var store = new MobileServiceSQLiteStore("localdata.db");
            store.DefineTable<Job> ();

            await this.MobileService.SyncContext.InitializeAsync(store);

            jobTable = this.MobileService.GetSyncTable<Job>();

 jobTable = this.MobileService.GetSyncTable<Job>();

            JObject newJob = new JObject ();

            newJob.Add ("Id","job_123");

            jobTable.InsertAsync (newJob);


           this.MobileService.SyncContext.PushAsync();

            var readResult = jobTable.ReadAsync ().Result.AsQueryable();

            var resultList = from data in readResult
                    select data;

            var resultCount = resultList.Count ();
        }


到目前为止-没有任何东西与我的Sql Server数据库同步(位于移动服务的接收端),并且resultCount保持为0

我确定我在这里做错了,只是似乎无法确切地指出。

-尤金

最佳答案

您应该使用PullAsync而不是ReadAsync。另外,您需要等待对所有异步方法调用的调用,例如InsertAsync,PushAsync和PullAsync。

有关详细示例,请参见本教程:http://azure.microsoft.com/en-us/documentation/articles/mobile-services-xamarin-ios-get-started-offline-data/

10-01 21:08