BreezeJS のサービスからダウンロードしたエンティティをグループ化する方法はありますか?
「where」「select」「orderBy」などを見つけましたが、「groupBy」メソッドがありません
存在するか知っていますか?またはこれを行う他の方法がある場合は?
BreezeJS のサービスからダウンロードしたエンティティをグループ化する方法はありますか?
「where」「select」「orderBy」などを見つけましたが、「groupBy」メソッドがありません
存在するか知っていますか?またはこれを行う他の方法がある場合は?
「GroupBy」は OData クエリ標準の一部ではなく、Breeze でサポートされている操作ではありません。
この操作の有用性を想像できます...グループを表し、エンティティが取り込まれたデータ構造を返します。グループ化が予測可能な場合は、コントローラ エンドポイントを作成してグループ化を実行し、そのグループ化されたデータをクライアントに送信できます。Breeze はデータ構造内に埋もれているエンティティを収集し、クエリの結果には、サーバーに委任したグループ化作業が反映されます。
私の意見GroupBy
では、一般的な意味での OData にはほとんど関心がありません。OrderBy
演算子を使用して簡単に実装できます。
の真の関心は、集計GroupBy
を実行することです。そして、このサーバー側。
私はその質問を長い間考えてきました。私は製品 AdaptiveLINQ ( www.adaptivelinq.com ) を開発しました。これは、その (サーバー側: .Net 開発者向け) 拡張メソッドを介して、単純なディレクティブQueryByCube
を指定する集約を可能にします。Select
したがって、たとえば、顧客ごとの総売上を返すサービスを簡単に構築できます。
http://.../MyAnalysisService.svc/Sales?$select=Customer, Sales
または顧客および製品カテゴリごと
http://.../MyAnalysisService.svc/Sales?$select=Customer, ProductCategory, Sales
「グループ化」とは正確にはどういう意味ですか? Breeze はそのようなことを許可しているかもしれませんが、私が知っていることではありません。
Breeze の目的は観測可能な結果を送信することであるため、SQL の意味でのグループ化はあまり意味がありません。あなたはそれを自分でしなければならないでしょう。たとえば、count(*) をオブザーバブルにするにはどうすればよいでしょうか。