0

私はEFを使用していないので、NoDbサンプルに従って、サーバー側のメタデータを使用せずにWebApiからデータを正常にロードしました。最初の読み込み後、ユーザーがページを操作している間、EntityManagerのローカルデータキャッシュを使用したいと思っていました。問題は、executeQueryLocallyを呼び出すと、キャッシュされたデータセットが空になることです。コードをステップスルーして、データがキャッシュに保存されなかった理由を確認しました。2つの問題がありました。

  1. _getEntityTypeで、metadataStore.isEmpty()がtrueを返していました。
  2. _getEntityTypeで、metadataStore._getEntityTypeNameForResourceNameは何も返しませんでした

これを回避するために、コード内の呼び出しをmetadataStore.addDataServiceとmetadataStore._setEntityTypeForResourceNameに追加しました。これらを追加した後、キャッシュは適切に保存され、executeQueryLocallyが機能しました。これは、これを機能させるための意図された方法ではなかったと思います...私が間違っている他の何かがありますか?それとも、これは修正できるバグですか?

4

1 に答える 1

0

これに戻るのに時間がかかってすみません。

そよ風v.1.1.3でmetadataStore.setEntityTypeForResourceNameを公開しました。(最初の'_"を削除するようにメソッドの名前を変更しました。

そうでなければ、あなたは正確に正しいことをしました。良いキャッチ。

于 2013-03-05T01:35:14.183 に答える