Azureのオフライン同期APIは完全なORMを提供しませんが、基本的なクラス間マッピングを提供します。Azureのオフライン同期APIでのクラスからテーブルへのマッピングの初期化
sample projectのTodoItemManager
がこれを持っている:
store.DefineTable<TodoItem>();
は、この唯一のモバイルアプリの最初の実行で行わ、またはそれが起動するたびに呼び出すことが安全であるべきか?したがって、「存在しない場合は作成」の操作を実行しますか?
さらに、クラスのスキーマが変更された場合はどうなりますか?
クラスが変更された場合、APIはマップされたテーブルのスキーマを自動的に更新しますか?言い換えれば、私たちが移行を処理するための正式な方法はありますか? –
@hbob列を追加すると、SDKはそれらをローカルストアに追加します。ただし、実際の移行サポートではありません。たとえば、新しい列にはnull値があり、SDKでは列が削除されません。真の移行サポートのためには、独自のローカルストアレイヤーを実装する必要があります。 https://github.com/Azure/azure-mobile-apps-net-client/blob/master/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/MobileServiceSQLiteStore.cs#L487を参照してください。 –