私は、Entity Framework 4.0と組み合わせてWCF RIA Servicesを使用しています。IncludeAttributeはObjectQueryおよびDbSetインクルードメソッドよりも任意の値を追加しますか?
関連するオブジェクトがクライアントに安全に送信されるようにするには、DomainServiceの中にObjectQuery(Of T).IncludeまたはDbSet(Of TResult).Includeのメソッドを使用する必要があります。また、メタデータクラス内のナビゲーションプロパティにIncludeAttributeを追加する必要があります。
私は、関連するオブジェクトがクライアントに転送され、ビット冗長思われ、それを実装するためにの変更を行うことを余儀なくしています持っている単一決定を下します。
すべてのナビゲーションプロパティがIncludeAttributeで自動的に装飾されるように、T4テンプレートの変更を検討しています。
私は、意図せずクライアントに送信されていた以前のリクエストから残ったエンティティについて少し気になりましたが、私の理解は、DomainServiceがステートレスなので、これは当てはまりません。
「のDomainService」名前のポイントは、それが私の アプリケーションの特徴である特定のドメインを表しstateless オブジェクトであるということです。
Another approach私が見たのは、プロジェクト内の任意のメタデータファイルにInclude属性を自動的に適用することでした。私はまだメタデータファイルを作成する必要があります。
私が見ていない他の危険はありますか?同じ効果を達成するより良い方法はありますか?
全く同じ質問がOPにあるようです。私は答えがポイントを少し欠いていたと思う。ステートレスサービスで、遅延読み込みがない場合、属性の値はどのような値になりますか? –
EFの場合、それは多くを追加しません。二重決定は、ストアされたプロシージャのようなものからデータを制約し、そうでなければあなたのサービスから露出させたい情報よりも多くの情報を返すことを可能にする可能性があります。 –