データベースからエンティティをロードし、それを使用して (モデル クラスから) ICollection を使用して、いくつかの子データをロードします。これは、1対多の関係であれば、個々のビューモデルから行うのに十分簡単ですが、もう少し複雑な構造があります-
親には多くの子供がいます。各子には多くの孫がいて、適切な子にリンクする必要があります。ヒエラルキーはそのままにしておく必要があります。
これまでに思いついた他のオプションは最善の方法ではないかもしれないので、私の質問は - 孫をロードするためのベストプラクティスは何ですか - または他の方法ですか?
metadataStore の構成中にコンストラクターで -
function configureMetadataStore(metadataStore) {
metadataStore.registerEntityTypeCtor(
'Child', null, childInitializer);
}
function childInitializer(child) {
child.grandchildren = (Do something here)
return grandchildren;
});
}
子が取り込まれているビューモデルで -
function refresh() {
return datacontext.getChildren(childs, parentId);
}
var addGrandChildren = function () {
$.each(childs, function (i) {
var grandChildren = ko.observableArray();
var childId = $(this).data(id);
datacontext.getGrandChildren(grandChildren, childId);
});
return;
};
それとも他の方法ですか?