問題タブ [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.
jquery - Breezeはナビゲーションプロパティを拡張しません
シングルページアプリケーションにBreezeデータサービス(別名datacontext)があります。各実行のOutlineItemsのリストとともに、WebAPIコントローラーから実行のリストを取得したいと思います。
コントローラは、BreezeControllerでこのメソッドを使用して子OutlineItemsを使用して開いている実行のリストを返します。
これがデータモデルです。
WebAPIリクエストからの応答データを見ると、RunOutlineItemsのリストはJSONにあります。たとえば、次の1つの項目があります。
これは、WebAPIからデータを取得するためのクライアント側のJavaScriptコードです。わかりやすくするために、エラーチェックとローカルキャッシュチェックは省略されています。
したがって、私の質問は、子アイテムをviewModelに取り込む方法です。サーバー上のWebAPIへの個別の呼び出しで子アイテムを取得し、カスタムko.bindHandlerで処理する回避策がありますが、ナビゲーションテクノロジを機能させると便利です。
breeze - ナビゲーション プロパティ、バグ、または機能を検証していますか?
ナビゲーション プロパティの検証に問題があります。それがバグなのか、それとも期待どおりに機能しないのかはわかりません。
彼の外部キー (私の場合は int 型) で必要なナビゲーション プロパティがある場合、バリデーターが正常に追加され、int は null にできないため、デフォルト値 0 が割り当てられますが、エンティティが検証されているときは、プロパティの値は (0) で、正しいと見なされます。エンティティが無効であると予想しました。
それはバグですか、それとも正しい動作ですか?
ご挨拶。
validation - BreezeJS は、KnockoutJS バインディングで文字列として保存された数値を自動的に解析しません
次のコードを使用して、Breezejs を使用してデータベースにクエリを実行しました。
ただし、製品の行には、プロパティを使用してページに接続されている Quantity などの数値プロパティが含まれていdata-bind
ます。モデルを保存するmanager.saveChanges()
と、検証エラーが発生します。これは、KnockoutJS が編集した数値を文字列として保存するためです。
この問題を回避するための推奨される方法は何ですか?
breeze - Breeze js Non-EF hasServerMetadata
私はAsp.NetWebAPIでBreeze.jsを使用して以下を実行しています。ODataプロトコルを使用してサービスにクエリを実行でき、応答でJSONデータを確認できますが、.then()および.fail()コールバックが起動しないため、ビューモデルがデータを取得することはありません。メタデータがないからですか?
breeze - Breeze.js 検証エラー メッセージを表示する方法
変更の保存中に検証が失敗する場合がありますが、実際のエラー メッセージに戻って表示するにはどうすればよいですか。saveFailed 関数は実行されますが、失敗した検証とそれらの個々のエラーメッセージに関する詳細情報が必要です
entity-framework - Breeze.jsでサポートされていないTimeSpanプロパティを持つEFエンティティ?
DocCode プロジェクトの Employee エンティティに TimeSpan プロパティを追加した後、NotSupportedException が発生します。だから私はそれがサポートされていないことを知っていますが...変換を行う計画、またはこれを乗り越える方法はありますか. エンティティで TimeSpan を広く使用していますが、TimeSpan をサポートする方法や計画はありますか?
- Duration プロパティを追加
単体テストを実行している NorthwindController で MetaData() メソッドが呼び出されると、失敗します。
breeze - 保存時の検証エラー
Breezeを使用して保存するSaveChanges()
場合、必須フィールドがある場合に単純な更新を行うとエラーが発生します。
例えば
フィールドが不要なName
, およびEmail
フィールドを持つユーザーのテーブルがあります。Email
ユーザー名のリストを表示できます (ただし、電子メールは表示したくありません)。
表示は機能しますが、save が呼び出されません。JavaScript で検証エラーが発生します。
検証エラーのため保存されませんでした: 「メール」が必要です
しかし、確かに、これは私が変更したフィールドで単純な更新を生成するだけであり、電子メールで何もするべきではありません.
奇妙なことに、リストの最初の項目を変更しただけではエラーになりません。
何か案は?
HTML は次のようになります。
ビューモデルの保存部分は次のとおりです。
javascript - Breeze の WebApi コントローラーは UTC DateTime とどのように連携しますか?
Breeze の の設定に問題がありますJsonMediaTypeFormatter
。私がすることは、WebAPI によって送受信される json の日付が常に UTC で機能することです。
このドキュメントによると、プロパティDateTimeZoneHandling
をDateTimeZoneHandling.Utc
に設定することで可能になりますJsonSerializerSettings
しかし、それはうまくいきませんでした。
このソース コードを調べたところ、この動作に影響を与えている可能性があるのは、この別の問題に対して行われたハッキングであることがわかりました。
以下のコードをすべて削除すると、すべて正常に動作します。
ハックを削除せずにこの状況に対処するにはどうすればよいですか?
編集1
私の最初の設定の試みは次のとおりです。
しかし、これは機能しませんでした。返された日付は UTC ではありませんでした。
編集2
まず、Breeze lib を 0.80.3 バージョンに更新しました。
私の App_Start フォルダーには、次の BreezeWebApiConfig.cs ファイルがあります。
次に、BreezeConfig という名前のフォルダーに CustomBreezeConfig.cs クラスを作成しました (Jay が以下に説明するコードを使用)。しかし、この新しい試みは機能しませんでした。
よろしく、
ベルナルド・パチェコ
breeze - metdataStoreを明示的に取得する
常に新しいエンティティ(スコア)を作成するビューモデルがあります。これを知るためにリポジトリを待つ必要もクエリする必要もありません。
(現在)ページの読み込み時に新しいエンティティを作成し、それを使用して(KnockoutJS)ビューモデルにデータを入力したいと思います。
エンティティマネージャーはメタデータを遅延的に設定し、メタデータの作成を強制するためだけに不要なクエリを実行することで、必要な動作を偽装したと思います。APIドキュメントはこれをカバーしていません:
http://www.breezejs.com/sites/all/apidocs/classes/EntityManager.html#property_metadataStore
質問 冗長なクエリを発行せずに、マネージャーにメタデータを強制的に入力させる方法はありますか?
これは、その意図を示すために平坦化されたなりすましコードです。
私は満足しているでしょう:
knockout.js - SQLServerCompactからDateTime値を取得する際の「無効な日付」エラー
Breeze + Knockout + WebAPI + SQLServerCompactを使用した単純なプロジェクトで次の問題が発生しました。
Breeze
エンティティを(でDateTime
ko.observable
)追加して実行するとManager.SaveChanges()
、行はSQL Server Compactに正しく保存され、DateTime
列は次の形式になります23/12/2012 19.56.33
。
その後Breeze
クエリを実行すると、行が返されますが、DateTime
値が認識されません。
無効な日付
date
フィールドはkoで観察可能であるため、値/形式をデバッグできません。これはメソッドです。
SaveChanges
この形式になる前に:Sun Dec 23 21:32:05 UTC+0100 2012
SaveChanges
SQL Server Compactテーブルで次の形式で見つけた後:23/12/2012 20.32.05
おそらくBreeze
UTCでもそれを期待しています..?
どんな助けでも大歓迎です!
ありがとう
編集:
WebApiBreezeControllerから返されたjsonは次のとおりです。