私たちは現在、breeze と typescript を連携させようとしています... angular を使用しているため、breeze の「backingStore」モデル ライブラリを使用する予定です... ko や backbone を使用する予定はありません...
// configure to use the model library for Angular
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
キー プロパティを含むすべての typescript エンティティ プロパティを設計時に定義しています...エンティティに設計時のキー プロパティとナビゲーション配列プロパティがある場合、「backingStore」の実装が失敗するようです。具体的には、breasts.debug.js の 4470 行目に問題があるようです。
npValue.forEach(function(iv) {
iv.setProperty(fkName, newValue);
私が正しく理解している場合、「npValue」は子エンティティを保持する配列である必要があります...この値がnullの場合、上記のコードは失敗します...このコードは、微風がエンティティクライアント側を読み込んでいるときに実行されるようですサーバーへの呼び出し...そして、親の「キー」プロパティがエンティティのコンストラクター関数内のコードで明示的に定義されている場合にのみ発生します。「movePropsToBackingStore」への呼び出しは、プロパティを削除してから再度追加しているように見えます...これがキープロパティに対して行われると、この問題が発生します...
とにかく、これはバグですか、それともそよ風はキー プロパティの明示的な定義をサポートしていませんか? それとも他に何か問題がありますか?この問題を再現するには、NoDb サンプルを次のように微調整するだけです。
// configure to use the model library for Angular
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
var TodoList = function () {
this.title = "My todos";
this.todoListId = null; //explicitly define key prop
};
ありがとうございました