RoomとPersonの2つのエンティティ/オブジェクトを含むWebサービスを想像してください。ここで、RoomはRoom.Occupantsプロパティコレクションを介してその中の人々を公開します。各エンティティにはLastModifiedの日付があります。
部屋の新しい表現が1人の居住者を削除してサービスにPUTされた場合、これは部屋のLastModifiedを変更する必要がありますか?
答えには、キャッシングに影響があります。
RoomIdがNULLに設定されているため、実際に変更されたエンティティはPersonであると見なすことができます。
ただし、日付が変更されたhttp ../ roomsへの条件付きリクエストでは、居住者を含むRoomの完全な表現の変更を反映できません。
部屋のLastModifiedを変更する必要があるという見方をする場合は、Personがサービスに書き込まれ、そのRoomIdが変更されるたびに、おそらく2つの部屋のタイムスタンプを更新する必要があります。
そして、その人がPersonalBelongingsのコレクションを持っている場合はどうなりますか?これはすぐに手に負えなくなる可能性があるので、この複雑さをすべて回避するために、オブジェクトの表現は関連するコレクションの表現を除外する必要がありますか?
ルーク