我通过 Azure Portal
设置了 MySQL
数据库,目前托管于 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
cloud MySQL
数据库同步 . 如何在C#(或Node.js ..或任何语言)中实现此功能,以便我的SQLite数据库可以与Azure MySQL数据库同步条目 .
谢谢!
1 回答
根据您的要求,我尝试通过Visual Studio创建我的 Azure Mobile App 项目,并安装支持MySQL for EF6的MySql.Data.Entity 6.9.9,然后使用我的DBContext for MySQL创建我的表控制器 .
我创建了继承包含表列类型
DateTimeOffset
的EntityData的数据库模型,但是我遇到了不兼容的错误消息 . 然后我发现MySQL Connector中有一个已知错误如下:我找到了一个关于MySQL Connector / NET的release note,然后我尝试升级到MySql.Data.Entity 7.0.7-m61,但遇到了另一个关于TypeLoadException - MySqlEFConfiguration的问题 .
由于您的目标是使用azure移动应用程序为您的Xamarin应用程序使用离线同步,我建议您可以尝试使用sql数据库或azure表存储来存储数据而不是MySQL,这可以通过简单的方式构建您的移动应用程序后端 . 您可以参考here开始使用它 .