我正尝试使用Azure移动应用程序实现脱机数据库同步。当我使用远程版本(使用MobileServiceClient.GetTable而不是MobileService.GetSyncTable)时,一切都可以成功。但是,我无法使它与本地SQLite数据库一起工作。与Azure移动应用脱机同步无法正常工作,数据库看起来为空
DatabaseContext
class在Autofac容器中注册为单例。
public class DatabaseContext
{
private readonly MobileServiceClient _client;
private readonly MobileServiceSQLiteStore _store;
public DatabaseContext()
{
if (File.Exists(Constants.LocalDatabase))
{
File.Delete(Constants.LocalDatabase);
}
_client = new MobileServiceClient(Constants.ApiEndpoint);
_store = new MobileServiceSQLiteStore(Constants.LocalDatabaseName);
}
public async Task Initialize()
{
_store.DefineTable<Activities>();
await _client.SyncContext.InitializeAsync(_store);
await _client.SyncContext.PushAsync();
var activitiesTable = _client.GetSyncTable<Activities>();
await activitiesTable.PullAsync(null, activitiesTable.CreateQuery());
// DATA IS EMPTY
var data = await activitiesTable.CreateQuery().ToListAsync();
}
}
我的模型类:
public class Activities
{
public Guid Id { get; set; }
public string Name{ get; set; }
public DateTimeOffset? UpdatedAt { get; set; }
public DateTimeOffset? CreatedAt { get; set; }
public byte[] Version { get; set; }
}
当我看着蔚蓝的仪表盘在我的流日志,我可以看到这个请求:
GET /tables/Activities $skip=0&$top=50&__includeDeleted=true&$skip=0&$top=50&__includeDeleted=true&X-ARR-LOG-ID=19cd669b-df9a-41ee-b86e-9db766fc8e01 443 - 70.52.250.32 ZUMO/4.0+(lang=Managed;+os=Android;+os_version=6.0.1;+arch=Unix;+version=4.0.0.0) - 200 0 0 3228 1241 2160
与邮差调用返回的数据。
有什么想法?
伟大的内容,但是,我的问题是没有关系。感谢您的帮助! –