リレーションシップとオフライン同期の2つのオプションがあります。
1)トリガーを含むビューを作成します。エントリが挿入、更新、または削除された場合、バックエンドテーブルに「正しいこと」を実行します。ビューは自動的に更新されます。あなたのEFモデルはビューを参照する必要があります。実際にはビューであるため、1つのテーブルのみを扱うため、これは完全にオフラインで動作します。ここにはSQLの複雑さがあり、多くの関係をこのように表現することはできません。
2)「読み取り専用」として個々のテーブルを使用する - 挿入、更新を行うために、カスタムAPIへの削除/ポスト/ PUTと、データベースの参照整合性が維持されるように削除されます。これは、あなたのデータは、オフラインで利用可能ですが、あなたがオンライン
3でない限り)データベースを更新してデータベースから関係を削除し、代わりにクライアント上など、結合を実行することができないことを意味します。これはあなたのクライアントに負担をかける。また、クライアントがバックエンドにアクセスしていることを知らないため、バックエンドが完全性を強制する必要があることを意味します。おそらくベストアイデアではないでしょう。
4)データを正規化してデータベースを再構成します。
誰かが他のアイデアを思いついてくれると確信しています。 https://shellmonger.com/2016/05/27/30-days-of-zumo-v2-azure-mobile-apps-day-26-relationship-advice/
どれを選択するかは、書きたいコードの量、T-SQLでの気持ち、実際のデータモデルの外観によって決まります。それらのすべてとトレードオフがあります。
あなたの記事を読んでいます。彼らは非常に便利です。最初の方法(トリガーを含むビューを作成する)を示す例がありますか?どうもありがとう。 –
私のブログでhttps://shellmonger.com - 「Azure Mobile Appsの30日間」リンクの19日目を探す –