我通过MySQL
设置了Azure Portal
数据库,目前托管在ClearDB
上。我使用Xamarin Forms
创建了一个移动应用程序,该应用程序实现了一个SQLite
数据库,该数据库存储了我的应用程序的相关信息。我正在使用Microsoft.WindowsAzure.MobileServices.SQLiteStore
库实现脱机同步功能,我使用的功能如下:
await table.ToListAsync();
await table.UpdateAsync(entry);
await client.SyncContext.PushAsync();
await table.PullAsync("allEntry", table.CreateQuery());
我需要做的最后一件事是将我的本地SQLite数据库与我创建的Azure
云MySQL
数据库同步。如何在C#(或Node.js ..或任何语言)中实现此功能,以便我的SQLite数据库可以与Azure MySQL数据库同步条目。
谢谢!
答案 0 :(得分:0)
根据您的要求,我尝试通过Visual Studio创建 Azure移动应用项目,并安装支持EF6的MySQL的MySql.Data.Entity 6.9.9,然后使用我的DBContext创建我的表控制器对于MySQL。
我创建了继承包含表列类型DateTimeOffset
的{{3}}的数据库模型,但是我遇到了不兼容的错误消息。然后我发现MySQL Connector中有一个已知错误如下:
使用 DateTimeOffset 类型的列创建的实体框架DbContext对象返回错误,指示DateTimeOffset值与 DateTime 和 Timestamp 值不兼容。 (缺陷号24732001)
我找到了关于MySQL Connector / NET的EntityData,然后我尝试升级到release note,但遇到了MySql.Data.Entity 7.0.7-m61的另一个问题。
由于您的目标是使用azure移动应用程序为您的Xamarin应用程序使用离线同步,我建议您可以尝试使用sql数据库或azure表存储来存储数据而不是MySQL,这可以构建您的移动应用程序后端一个简单的方法。您可以参考TypeLoadException - MySqlEFConfiguration开始使用它。