2017-06-01 1 views
1

Ich habe eine MySQL Datenbank über die Azure Portal, derzeit gehostet auf ClearDB. Ich habe eine mobile App mit Xamarin Forms erstellt, die eine SQLite Datenbank implementiert, die relevante Informationen für meine App darin speichert. Ich bin der Umsetzung Offline-Synchronisierung Funktionalität der Microsoft.WindowsAzure.MobileServices.SQLiteStore Bibliothek, und ich bin mit Funktionen wie:Einrichten von MySQL Back-End in Azure für Xamarin Offline Sync

  • await table.ToListAsync();

  • await table.UpdateAsync(entry);

  • await client.SyncContext.PushAsync();

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

Das letzte, was ich tun muss, ist meine lokale SQLite-Datenbank mit der Azure Wolke MySQL Datenbank zu synchronisieren, die ich erstellt habe. Wie implementiere ich dies in C# (oder Node.js .. oder JEDER Sprache), so dass meine SQLite-Datenbank Einträge mit meiner Azure MySQL-Datenbank synchronisieren kann.

Danke!

Antwort

0

Entsprechend Ihre Anforderung, habe ich versucht, mein Azure Mobile App Projekt über Visual Studio zu erstellen und installieren MySql.Data.Entity 6.9.9, die MySQL für EF6 unterstützt, dann meinen Tisch Controller erstellen mit meinem DbContext für MySQL arbeiten.

Ich erstellte mein DB-Modell, das die EntityData erbt, die den Tabellenspaltentyp enthält, aber ich stieß auf eine inkompatible Fehlermeldung. Dann fand ich es ein bekannter Fehler in MySQL Connector ist wie folgt:

Ein Entity Framework DbContext Objekt mit einer Spalte des Typs erstellt Datetime einen Fehler zurückgegeben darauf hinweist, dass Datetimeoffset-Werte waren unvereinbar mit Datetime und Timestamp Werte. (Bug # 24732001)

fand ich eine release note über MySQL Connector/NET, dann habe ich versucht zu MySql.Data.Entity 7.0.7-m61 zu aktualisieren, aber ein anderes Problem zu TypeLoadException - MySqlEFConfiguration angetroffen.

Da es Ihr Ziel ist, die Offline-Synchronisierung für Ihre Xamarin App mit der azure Mobile App zu verwenden, empfehle ich Ihnen, sql database oder azure table storage anstelle von MySQL für Ihren Datenspeicher zu verwenden auf eine einfache Art und Weise. Sie können sich auf here beziehen, um damit anzufangen.

+0

Vielen Dank Bruce, leider unsere Datenbank verwendet MySQL und konnte nicht zu einer SQL-Datenbank oder azurblauen Tabellenspeicher zu diesem Zeitpunkt –

+0

Bedenken bei der Verwendung von azurblauen SQL mit mobilen App, zögern Sie nicht uns zu informieren. –

Verwandte Themen