我有一个带有数据库导航属性的模型。模型的结构如下
public class Parent{
public string propertyone {get; set;}
public IList<Child> children {get; set;}
}
public class Child{
public string propertyone {get; set;}
public string propertytwo {get; set;}
public IList<Seed> children {get; set;}
}
使用breeze,我从数据库中加载一个'Parent'类型的对象,并在表中显示“children”属性。
this.parent = manager.fetchEntityByKey('Parent',42)
点击按钮,我想添加另一个孩子
<table data-bind="with: parent">
<tr data-bind="foreach: children">
<td data-bind="text: children"></td>
<td data-bind="text: children"></td>
<td><a data-bind="click: $root.remove">Remove</a></td>
</tr>
</table>
<a data-bind="click: $root.add">Add</a>
我的无效功能看起来像这样,其中self表示返回的视图模型。
function add(parent){
var newchild= ko.observable(entityType.createEntity(
{
propertyone : "Test"
}));
parent.children.push(newchild);
//parent().children().push(newchild);
//self.parent.children.push(newchild);
//self.parent().children().push(newchild);
}
这个以及add函数中的注释行是我尝试的但是不起作用。我收到错误undefined is not a function
。如何向此导航集合添加项目,表示父实体和子实体之间的一对多关系?
答案 0 :(得分:3)
如果您的元数据设置正确,您只需要:
entityType.createEntity({ parentIdProperty: 'parent id value' });
这将创建实体并将其添加到父实体的集合中。