我想从数据库中加载一个实体,然后使用它的 ICollection(来自模型类)加载一些子数据。如果它是一对多的关系,那么从单个视图模型中可以很简单地做到这一点,但我有一个更复杂的结构 -
父母有很多孩子。每个孩子都有许多孙辈,需要将其与正确的孩子联系起来。层次结构需要保持完整。
到目前为止我提出的其他选项可能不是最好的方法,所以我的问题是 - 加载孙子的最佳做法是什么 - 或其他方法?
在配置元数据存储时在构造函数中 -
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;
};
还是别的什么方法?