2017-06-01 72 views
1

我有一個MySQL數據庫通過Azure Portal設置,當前在ClearDB上託管。我創建了一個使用Xamarin Forms的移動應用程序,該應用程序實現了SQLite數據庫,該數據庫爲我的應用程序存儲了相關信息。我現在用的是Microsoft.WindowsAzure.MobileServices.SQLiteStore庫實現離線同步功能,並且我使用的功能,如:在Azure中爲Xamarin離線同步設置MySQL後端

  • await table.ToListAsync();

  • await table.UpdateAsync(entry);

  • await client.SyncContext.PushAsync();

  • await table.PullAsync("allEntry", table.CreateQuery());

我需要做的最後一件事是將我的本地SQLite數據庫與我創建的AzureMySQL數據庫同步。如何在C#(或Node.js ..或ANY語言)中實現這一點,以便我的SQLite數據庫可以將條目與我的Azure MySQL數據庫同步。

謝謝!

回答

0

根據您的要求,我試圖創建我Azure的移動應用通過Visual Studio項目,並安裝MySql.Data.Entity 6.9.9支持MySQL的EF6,然後創建我的表控制器與我的DbContext爲MySQL工作。

我創建了我的db模型,它繼承了EntityData,其中包含表列類型DateTimeOffset,但我遇到了一個不兼容的錯誤消息。然後我發現有在MySQL連接一個已知的錯誤如下:

類型的列創建的DateTimeOffset

實體框架的DbContext對象返回一個錯誤指示的DateTimeOffset值分別爲不符合日期時間時間戳值爲。 (錯誤#24732001)

我發現了一個release note關於MySQL連接器/ NET,然後我試圖升級到MySql.Data.Entity 7.0.7-m61,但另一個問題有關TypeLoadException - MySqlEFConfiguration遇到。

因爲你的目標是使用離線同步與蔚藍的流動應用程式Xamarin的應用程序,我建議你可以嘗試使用SQL數據庫或Azure Table中存儲你的數據存儲,而不是MySQL的,這可以建立您的移動應用後端以一種簡單的方式。你可以參考here開始使用它。

+0

謝謝布魯斯,不幸的是我們的數據庫使用MySQL,並且目前無法更改爲SQL數據庫或天藍色表存儲 –

+0

當使用Azure SQL和移動應用程序時,請隨時通知我們。 –

相關問題