私はEFを使用していないので、NoDbサンプルに従って、サーバー側のメタデータを使用せずにWebApiからデータを正常にロードしました。最初の読み込み後、ユーザーがページを操作している間、EntityManagerのローカルデータキャッシュを使用したいと思っていました。問題は、executeQueryLocallyを呼び出すと、キャッシュされたデータセットが空になることです。コードをステップスルーして、データがキャッシュに保存されなかった理由を確認しました。2つの問題がありました。
- _getEntityTypeで、metadataStore.isEmpty()がtrueを返していました。
- _getEntityTypeで、metadataStore._getEntityTypeNameForResourceNameは何も返しませんでした
これを回避するために、コード内の呼び出しをmetadataStore.addDataServiceとmetadataStore._setEntityTypeForResourceNameに追加しました。これらを追加した後、キャッシュは適切に保存され、executeQueryLocallyが機能しました。これは、これを機能させるための意図された方法ではなかったと思います...私が間違っている他の何かがありますか?それとも、これは修正できるバグですか?