クライアント (プレゼンテーション) とサーバー (データ/ビジネス層) の間で WCF を使用して、N 層アーキテクチャ アプリケーションを開発しています。正直なところ、WCF を介して効率的に計算されたデータを公開する方法の実際の例/情報を見つけることができません。
私の問題を説明するために、大量の取引を行う ATM マシンがあるとします。したがって、ATM クラスとトランザクション クラスの間には 1 対 N の関係があります。ATM クラスには、Location、ModelNo、Description、InstallDate などのプロパティがあり、トランザクション レコードには、Amount、DateTime、CustomerInfo、TicketPaperLength、ElectricityUsed などの情報があります。
これらのクラスを WCF で公開することは問題ではありません。問題は、基礎となるトランザクション テーブルに基づく ATM の計算フィールドが多数あることです。たとえば、クライアント アプリケーションは、ATM の計算データに基づくレポートを使用します。ATM の計算データの例としては、AverageTicketPaperLength、AverageAmount、DeviationAmount、AverageElectricity などがあります。これらの計算データは非常に多くあります。計算は、クライアント側ではなくサーバーで行う必要があります。これらのレポート定義がすべて修正されていれば、それほど大きな問題にはなりません。レポート用に個別のサービス/Poco を作成できます。計算をビジネス レイヤーに配置し、必要に応じて Poco を埋めます。
約 500 の計算されたプロパティを持つ Poco を作成できました。ここで、単一のレポートごとに 10 個のプロパティしか使用されない場合があります。しかしもちろん、すべてのエンティティに対して毎回 500 回の計算をすべて実行する必要はありません。
したがって、一般的に、エンティティの計算されたデータを WCF などを介してどのように公開するのか疑問に思っています。Entity Framework、Poco、および WCF を説明しているほとんどすべての例は、エンティティの永続フィールドのみを扱っており、非常に簡単です。