在我的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
我确定我在这里做错了什么,但似乎无法确定具体内容。
-Eugene
答案 0 :(得分:1)
您应该使用PullAsync而不是ReadAsync。此外,您需要等待对所有异步方法调用的调用,例如InsertAsync,PushAsync和PullAsync。
有关详细示例,请参阅本教程:http://azure.microsoft.com/en-us/documentation/articles/mobile-services-xamarin-ios-get-started-offline-data/