問題タブ [breeze]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - Breezejs での参照の処理
EF Code First を使用して Web Api + Ko + Breeze で ASP.NET MVC4 を使用したシングル ページ アプリを開発しています。
私たちの(簡略化された)データモデルは次のようになります
DefaultImage はナビゲーション プロパティ (外部キーを使用) であり、ImageSet 内の画像の 1 つです。
Products() の Web API メソッドと、デフォルトの Breeze 構成を公開しています。ワイヤ上の JSON シリアル化出力にはオブジェクト (つまり、PreserveReferencesHandling.Object) の参照があるため、ImageUrl ko をバインドしたいときに値を解決できません。
HTMLはこんな感じ
シリアライザーを PreserveReferencesHandling.None に切り替えると、バインディングが機能します。
質問: デフォルトの構成を機能させるにはどうすればよいですか? または、Breeze の PreserveReferencesHandling.None に切り替えた場合、落とし穴/欠点は何ですか?
ありがとう!
breeze - Breeze サーバー側のメタデータは必須ですか、それともクライアント側で定義できますか?
私は Breezejs の使用を検討していますが、その機能とそれに伴うベスト プラクティスに関していくつか質問があります。
- サーバー側のメタデータは存在する必要がありますか? 非 EF WebApi コントローラーを使用している場合でも、それを ProviderContext でラップしてメタデータを実装する必要がありますか? もしそうなら、メタデータのフォーマットは何ですか?
- サーバー側でメタデータを省略し、クエリ可能な actionfilter を実装するだけでよい場合でも、クライアント側のコードを記述してメタデータを定義できますか? これを行う方法に関する情報はどこにありますか?
- ID と名前を持つ Job というサーバー モデル クラスがあります。これは単純なプロパティであり、Company というオブジェクト プロパティは、ID と名前を持つ Company というサーバー側モデル クラスを指します。Job(s) は、(Job のブール型の IsConfidential プロパティを介して) 機密にすることができます。その場合、たとえ companyId が残っていても、そのプロパティをクライアントに送信するべきではありません。代わりに、クライアントに送信される CompanyName (基本的に、非機密ジョブの場合は Company.Name、機密ジョブの場合は「Confidential」) と呼ばれるサーバー側の計算されたプロパティが必要です。管理者ロールのユーザーは CompanyId を表示および編集できる必要がありますが、通常のユーザーはその値を表示または投稿/入力できないようにする必要があります。これをそよ風でどのように達成しますか?そよ風はモデル以外のビューモデル (より少ないプロパティといくつかの計算されたプロパティ) の送受信をうまく処理しますか?
- ODataActionFilter のソース コードのソースは、任意の目的で使用および変更できるものですか?
- EF 以外のもの (Telerik OpenAccess など) 用に WebApi コントローラーを作成するのはどれほど難しいでしょうか?
ありがとう
javascript - promise に jQuery または Q.Js を使用する
私は BreezeJs を調べていますが、非同期呼び出しを処理する約束のためにQ.jsを使用しているサンプルがあります。John Papaも Q を使用しています。JQuery にも約束があります。2つの違いは何ですか?
knockout.js - 風のjsクエリが完了した後のknockout.js applybindings
質問: ViewModel のすべてのクエリが実行されるまでノックアウト バインディングが適用されないようにコードを構成するにはどうすればよいですか?
更新: さらに調査と実験を行った結果、Deferred 関数に沿ったものを使用するとうまくいく可能性があると思います。いくつかの実装を試しましたが、すべてのクエリ結果が処理されるまでではなく、クエリが呼び出されるまで延期されます。私は明らかにここで何か間違ったことをしていますが、私のjavascript fooは弱いです。
使用されたテクノロジー: Entity Framework 5 w/ Oracle、.Net 4 Web API、Knockout 2.2、Breeze 0.71.3
状況: Breeze を使用して、POCO の Enumerable を取得する Web API メソッドを呼び出し、ノックアウト監視可能な配列にデータを入力し、その配列をビューの選択コントロールにバインドします。
問題: ViewModel バインディングをビューに適用する前に、簡単なクエリが完了しておらず、ノックアウト オブザーバブルが設定されていません。クエリ結果が返されると、ko オブザーバブルが入力されて選択コントロールが更新される間、UI は 5 ~ 7 秒間応答しません。ロギングに基づいて、これが問題のようです...
cshtml ファイル:
main.js:
vm.muni は、ViewModel の JavaScript ファイルです。クエリを実行するために公開されているメソッドを次に示します。
以下は、dataservice.js ファイルからの簡単なクエリです。
ajax - Breeze での AJAX ヘッダーの設定
ブリーズにリクエストをさせる前にヘッダーを設定するにはどうすればよいですか?
例: 私のサービスは、特定のキーがヘッダー名「x-service-key」のリクエストの一部であると想定しています。今までjquery ajaxとamplifyを使っていたので、ヘッダーの設定はかなり楽でした。私はそよ風が行っているリクエストを制御できないため、ヘッダーなどの余分なものを渡すにはどうすればよいですか?
この質問は、IdeaBlade フォーラムの sujesharukil によって投稿されました。Breeze Stack Overflow コミュニティに役立つと思うので、ここに質問と回答を再投稿します。
knockout.js - Breeze と Knockout での検証
最近、Knockout と ASP.NET MVC4 を使用して Breeze をプロジェクトに追加しました。私は Breeze がとても好きで、多くのコーディングを節約できます。
私は Knockout 検証を使用しており、データ入力時にプロパティ フィールドのテキスト ボックスを検証する方法と、エラー メッセージが表示される方法が気に入っています。
オブジェクト プロパティの C# 属性を使用してバックエンドで検証要件を定義し、検証要件をメタデータで受け取り、ノックアウト検証を使用できる組み合わせを使用したいと考えています。
フロントエンドでプロパティを定義し、ノックアウト検証を適用することで回避できると思います。
フロントエンドで検証要件を適用せずにノックアウト検証を使用する方法はありますか? そうでない場合、これを行うことを検討していますか?
この質問は、johnvarney によって IdeaBlade フォーラムに投稿されました。Breeze Stack Overflow コミュニティに役立つと思うので、ここに質問と回答を再投稿します。
odata - OData で Breeze を使用する
サーバーのメタデータのみを使用してモデルを定義する odata サービスに対して風を使用するにはどうすればよいですか? コンテキストは非 Web API サービスへの crud 操作を引き続き処理できますか?
私は見た
serviceName を oData uri に置き換えてから、通常どおり風を使用し続けることはできますか?
ご協力いただきありがとうございます!
この質問は、jpirok によって IdeaBlade フォーラムに投稿されました。Breeze Stack Overflow コミュニティに役立つと思うので、ここに質問と回答を再投稿します。
entity-framework - Breeze EFContextProvider での動的接続文字列の使用
現時点では、ObjectContext の接続文字列が動的なアプリケーション (web/silverlight) があります。私の顧客はそれぞれ独自のデータベースを持っているため、ユーザーのログイン方法に基づいています。つまり、ユーザー名@ドメインです。ObjectContext をコンストラクター経由で渡すか、GetConnectionString をオーバーライドすることで、EFContextProvider を使用する方法を見つけようとしていますが、残念ながら両方ともサポートされていません。
これを達成する方法はありますか、または EFContextProvider のソースをどこかにダウンロードして、自分で実装できますか?
前もって感謝します。
この質問は、Marcel によって IdeaBlade フォーラムに投稿されました。Breeze Stack Overflow コミュニティに役立つと思うので、ここに質問と回答を再投稿します。
breeze - BreezeJS core.config の変更
以前のビルドでは setProperties を使用し、trackingImplementation を省略しましたが、手動でノックアウトを使用して高速化することにしました (エンティティがたくさんあります)。
現在、この構文に変更されています。「ko」行をコメントアウトしても、オブザーバブルが作成されますが、これを防ぐ方法はありますか?
properties - NullValueHandling は JsonFormatter 属性のオプション パラメータである必要があります
開発者チームが私のメッセージを見逃さないことを願っています。NullValueHandling は JsonFormatter 属性のオプション パラメータである必要があります。オブジェクトのプロパティがその値とは関係なくクライアント側で必要になる場合が多いためです。そして、私は個人的に、私のオブジェクトがプロパティの半分を持っていない理由を特定しようとして、いくつかの問題を抱えていました.
ちなみに、クライアント側でエンティティを監視可能にするための DbConext とエンティティ名前空間の制限も良くありません。
ありがとう。