4

私はbreezejsを初めて使用し、いくつか質問があります。

Breezejs には非常に優れた機能があると思いますので、独自のデータ コンテキストを置き換えることができます。ただし、breezejs が dbcontext レイヤーと直接対話することは望ましくありません。実際、私のアプリケーションでは、Service レイヤーは ViewModels のみを公開し、実際のビジネス モデルでさえも Controllers に公開していません。したがって、Breeze を使用できるかどうかはよくわかりません。Breeze の例はほとんどなく、Breeze が DBContext と直接対話するのを見ただけだからです。

ありがとう。

=========================================

答えてくれてありがとう、ウォード、

私が Breeze で気に入っている機能は、独自のクライアント側ビュー モデルを構築する時間を大幅に短縮できることです。また、SPA を構築するために、クライアント側のビュー モデルを維持することは、私にとって非常に苦痛です。特に、私のアプリケーションには、デスクトップ アプリ クライアントと他のハンドヘルド デバイスのアプリもあります。また、JSON オブジェクトから Knockout へのマッピングを処理するには、各ビュー モデルでマッパーも必要になります。

現在、私のアーキテクチャは次のようになっています。

サーバー側: リポジトリ層 <=> サービス層 <=> コントローラー (クライアント側に公開する Web API を使用)

コントローラーは、サービスを介してリクエストを送信することによってのみ、(ビュー モデルの形式で) データを取得できます。

したがって、私の質問は、Breeze を使用してクエリを実行できるかどうか、およびノックアウトとの統合が可能かどうかです。

4

2 に答える 2

3

Breeze が DbContext と直接連携することはありません。これは、サービスのエンドポイントを介して公開するサービス モデル (Web API コントローラー メソッドなど) と連動します。しかし、クライアントがサーバー上のエンティティと構造的に同じエンティティをクエリして保存できる場合、Breeze から最大の価値が得られることは間違いありません。

Breeze を使用して ViewModel を取得できます。Breeze を使用して、ほぼすべての HTTP サービス メソッドを呼び出すことができます。ViewModel を取得した後、Breeze がクライアント上でこれらの ViewModel を管理するのにどのように役立つかは、私にはわかりません。

Breeze のどの機能が「非常に優れている」と思われますか? その質問に対するあなたの答えは、好みのアーキテクチャ スタイルで Breeze が役立つかどうかを判断するのに役立ちます。

于 2012-12-31T07:34:14.430 に答える
1

DBContext を直接使用して API コントローラーを使用せずに Breeze を介してデータをクエリすることは問題ありません。保存は難しいかもしれませんが、それでも管理可能です。最も複雑な部分は、クライアントにメタデータを取得することだと思います。

この SO answerによると、DBContext が直接他のソースからメタデータを公開するためのサンプルは、1 週間ほどで公開されるはずです。

一方、BreezeJS spa-template サンプルを確認してください。これは、サーバー側に関連するリポジトリ パターンがあり、データ アクセスのセットアップと似ています。

于 2013-03-20T08:23:03.307 に答える