問題タブ [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.
breeze - EntityManagerからエンティティをエクスポートする際のBreezeエラー
エンティティをエクスポートしようとすると、次のエラーが発生します。
"nullのメソッド'getProperty'を呼び出すことができません"
ただし、(saveChanges()を呼び出す前に)マネージャーキャッシュに削除のマークが付けられたエンティティがある場合のみ
これは私にエラーを与えます:
対照的に、saveChanges()を呼び出してからexportEntities()を呼び出す前にエンティティを追加または変更しても、エラーは発生しません。
これに関するどんな助けでも、非常にありがたいです!
breeze - マルチパートキーを持つエンティティの自動生成キー
外部キーと自己生成フィールドによって形成された複数列の主キーを使用して新しいオブジェクトを作成しようとしましたが、次のエラーが見つかりました。
マルチパートキーを持つエンティティのIDを自動生成することはできません。
今のところ、最も適切ではありませんが、キーを変更しますが、質問は次のとおりです。
すぐに自動生成されるマルチカラム主キーのサポートを計画していますか?
uservoiceにもリクエストを追加します。
挨拶。
ユースケースを説明するために編集します。
こんにちは、
確かに、外部キーと自己生成フィールドで構成される主キーを持つことは意味がない場合があります。
私のアイデアは、次のようなテーブルを作成することでした。
最初のステップとして、次のようなテーブルを作成しました。
ここで、ChildIDは自己生成フィールドでした。
だからあなたは私の質問を無視することができます。
挨拶。
typescript - Breeze.js型付きエンティティ
JaySvcUtilがJayDataに対して機能するのと同じ方法で、Breezeを使用して型付きエンティティを作成する方法はありますか?これにはTypescriptのサポートが含まれていますか?Breezeフレームワーク内に一般的なTypescriptのサポートもありますか?
knockout.js - エンティティを拡張して、ナビゲーション プロパティを必要とする計算オブザーバブルを作成する
エンティティを拡張して、ナビゲーション プロパティを必要とする計算オブザーバブルを作成しようとしています。
問題は、オブザーバブルが作成されたときに、ナビゲーション プロパティがまだ存在しないことです。
これを修正するにはどうすればよいですか?
typescript - BreezeJS-複雑なクエリを作成するにはどうすればよいですか?
BreezeJS + ODataまたはWebAPIを使用して複雑なクエリを作成するにはどうすればよいですか?私ができるようにしたいのは、JayDataでこのようなもので、Northwindを参照データベースとして使用していますか?私の問題は、データベースを参照する側(定数と比較してフィールドではない)と複雑な論理ツリー(a ||(b && c))の両方を持つクエリを表現する方法がわからないことです。
私の他の質問は、TypeScript+クエリについてです。BreezeJSでクエリにArrow関数を使用するにはどうすればよいですか?したがって、式ビルダーの代わりに、次のように言う方法があります。
ご協力いただきありがとうございます。明らかな質問の場合は申し訳ありません。
breeze - そよ風の日付での作業
日付の操作に問題があります。
日付フィールドを持つオブジェクトがあります:
public DateTime FechaInicio {get; セットする;}
この定義により、データベースに次のフィールドが生成されます。
FechaInicio日時はnullではありません
Webサービスにリクエストを送信すると、次の形式で日付が(JSONで)取得されます。
"FechaInicio": "1982-12-02T00:00:00"
また、エンティティでFechaInicio()を呼び出すと、javascriptのDateオブジェクトが返されます。
新しいエンティティを作成すると、次の値が得られます。
結局のところ、私の本当の質問は、日付型フィールドに新しい値を割り当てるためにどの形式を使用する必要があるかということです。
編集:
いくつかのテストを行った後、プロパティにDateオブジェクトを割り当てると、次の行に到達するまですべてが正常に見えることに気付きました。
saveBundleStringified var = JSON.stringify(saveBundle);
saveBundleのコンテンツは次のとおりです。
およびsaveBundleStringified:
最終的にデータベースに保存されるのは、2012-12-19 23:00:00.0000000です。
SaveChangesの呼び出しの結果が返されると、関数updateEntityでキャッシュ内のエンティティとマージされます。このチェックはfalseを返すif(!core.isDate(val))です。結果として、間違った日付で新しいDateオブジェクトが作成されます。
私が間違っていたら訂正してください、でもそれが問題だと思います。
local-storage - SPA (html5 シングル ページ アプリケーション) でローカル データとリモート データを同期するためのベスト プラクティス/パターンはありますか?
jqueryMobile +ノックアウト+そよ風+ WebAPIを使用して、モバイルコンテキスト(信頼できないインターネット接続)でSPA(シングルページアプリケーション)について学ぶ簡単な「todo - helloworld」を書いています。
オフラインでの使用を有効にするために、WebApp は活用します
- アプリケーションキャッシュ
- ローカルストレージ
アプリは、データの読み込みと保存に可能な限りリモート データベースを使用する必要がありますが、オフラインの場合はローカル ストレージにシームレスに切り替え、オンラインに戻った場合はローカル/リモートの変更を同期できる必要があります。
質問に戻ります。アプリは Breeze の EntityManager を使用してデータを管理します (ローカル キャッシュとリモート同期)。
- 「リモートデータベース」
不整合/同時実行の問題を軽減するために、2 つの localstorage キーを使用します。
- リモート データベースのローカル コピー用の「localDb」(todo のリスト)
- アプリがリモート データベースに送信できなかった変更の「localPendingChanges」
したがって、フローは多かれ少なかれ次のようになります (疑似コード):
このアプローチについてどう思いますか?めちゃくちゃですか?大丈夫ですか?マルチ ユーザー シナリオでの同時実行の問題についてはどうでしょうか。
breeze - ConcurrencyCheck / Datatype
breeze.debug.jsの場合:
モデルにタイムスタンプがあります。なぜこれが推奨されないのですか?ASP.NetのEFチュートリアルは、タイムスタンプを使用します。Concurrencycheck列として何をお勧めしますか?
guid - Breeze: クライアントで新しいエンティティの GUID キーを作成するにはどうすればよいですか?
Breeze を使用して、エンティティの作成時に GUID キーを入力する最も簡単な方法は何ですか?
validation - サーバー側の検証
サーバー側のDbContext
検証エラーをクライアントに戻す方法がわかりません。Breeze には、 などのいくつかの属性に反応するデフォルトのバリデーターがあることは理解していますRequired
が、他のすべての属性についてはどうでしょうか? クライアント側でチェックする Breeze 用のカスタム JavaScript バリデータを作成することもできますが、エンティティがサーバー側で有効であることも確認する必要があります。
たとえば、アプリケーションPerson
には有効な電子メール アドレスが必要です。EmailAddress
悪意のあるユーザーがやって来て、クライアントを通過して電子メール アドレスを取得し、バリデータを通過しないデータをサーバーに投稿します。これまでのところ、Breeze での私の経験では、電子メール アドレスが保存され、DbContext
Entity Framework エラーが発生することはありません。
以下のモデルを想定すると、エンティティ検証エラーを取得する最良の方法は何ですか?
更新 1:
私が経験している問題を再現するための手順を次に示します。
- 指示に従って「Todo」サンプルを作成します ( http://www.breezejs.com/documentation/start-nuget )
/li>BreezeSampleTodoItem.cs
新しいカスタム バリデータをファイルに追加します。
/li>Description
フィールドを新しいカスタム バリデータで装飾します。using
もちろん、適切な s (System
および) を追加しますSystem.ComponentModel.DataAnnotations
。- プロジェクトを実行します。
- 説明フィールドの 1 つに「エラー」と入力して保存します。
DbEntityValidationException
これは、Breeze を介してエラーが発生したり、Entity Framework からスローされることさえあると予想される場所です。2台の別々のコンピューターで試しましたが、同じ結果が得られました。エンティティは、エラーがなかったかのようにデータベースに保存されます。実際、IsValid
カスタム バリデータのメソッド内の任意の場所にブレークポイントを配置すると、呼び出されていないことがわかります。