我的JayData实体上有JayData:
'User': { 'type': 'RavenDBMembership.User', 'inverseProperty': '$$unbound' },我真的很想用它,但现在不用了.
据我所理解,“$$unbound”值应该使用包含函数加载属性,然后我应该能够像这样简单地使用它:
entity.User但是,它甚至没有将“用户”添加到结构中。当我像这样用AngularJS打印实体时:
{{entity}}我得到了具有值的实体的结构,但是用户属性不存在!
所以..。有什么示例或想法如何在JayData中使用“反向属性”:“JayData”?
发布于 2013-10-13 22:22:48
所以我想出了问题所在。当实体模型说
'inverseProperty': '$$unbound'为了达到这些属性,我们必须说(在我的例子中的用户)
context.EntitySet.include('User').toArray(handler);这里的神奇关键字是include('Property_name')
然后我们可以到达entity.User thingy。
我的错误是认为JayData 自动包含了。
发布于 2013-10-12 20:28:20
很抱歉回答但我不能评论..。
您确定元数据实际上公开了所有实体吗?
前几天我在GitHub上偶然发现了这个问题
只是一个想法..。
编辑:
事实上,我很好奇,所以我去看消息来源。在此文件(第364行)中,它说:
if (memDef.inverseProperty === '$$unbound') {
//member definition is navigation but not back reference您的导航属性似乎不是用来引用他的父级的。
请考虑以下几点:
$data.Entity.extend('Entities.User', {
'IdPerson': { 'key': true, 'type': 'Edm.Guid', 'nullable': false, 'computed': true },
'Login': { 'type': 'Edm.String', 'nullable': false, 'required': true, 'maxLength': 20 },
'Password': { 'type': 'Edm.String', 'nullable': false, 'required': true, 'maxLength': 36 },
'Role': { 'type': 'Entities.Role', 'inverseProperty': 'User' }
});
$data.Entity.extend('Entities.Role', {
'IdRole': { 'key': true, 'type': 'Edm.Guid', 'nullable': false, 'computed': true },
'User': { 'type': 'Array', 'elementType': 'Entities.User', 'inverseProperty': 'Role' }
});这实际上是我的一个工作模型的一部分,我试着把'$$unbound‘放在相反的属性中,它复制了您的bug。
您应该确保基础数据模型配置了正确的外键和多重性。这实际上就是“inverseProperty”的用途。
https://stackoverflow.com/questions/19306999
复制相似问题