1

おそらくWCFデータサービスを使用して、データベースにWebサービスを実装しようとしています。私が利用可能にする必要があるオブジェクトのいくつかには、オブジェクトが有用であるために存在する必要がある子オブジェクトがあります。ただし、Entity Frameworkでの遅延読み込みのため、これらの子オブジェクトは自動的に読み込まれません。

JSONを使用してこのサービスを呼び出す予定であり、各呼び出しで$expandオプションを指定する必要はありません。また、LoadPropertyメソッド(同じリンク)をどこで使用するかは明確ではありません。InitializeServiceメソッドを記述し、フレームワークに残りの作業を任せているだけだからです。

一部の子オブジェクトを明示的にロードし、他のオブジェクトをロードしないように構成する方法はありますか?

4

2 に答える 2

1

WCF Data Servicesは現在、サーバーでの自動拡張をサポートしていません。クライアントは常に拡張を要求する必要があります。

着信要求を変更することにより、WCFDSを回避する何らかの回避策を実装できます。したがって、たとえば、クライアントが〜/ Productsのリクエストを送信した場合、WCF DSに到達する前にそれを変更し、〜/ Products&$ expand = Categoryを処理させることができます。そうすれば、効果的に自動拡張を実現できます。ただし、このようなサービスを堅牢にするには、クエリURLを解析し、展開がまだ存在しない場合にのみ展開を追加する必要があります。

于 2012-07-09T16:58:00.660 に答える
0

もう1つの方法は、子オブジェクトが常に存在する必要がある場合、子オブジェクトをエンティティではなく複合型にして、常に親と一緒になるようにすることです。子オブジェクトが個々のエンティティであるという強い理由はありますか?

お役に立てれば。

ありがとうPratik

于 2012-07-09T17:19:51.263 に答える