很抱歉回答,但我无法评论...
您确定您的元数据实际上公开了所有实体吗?
前几天我在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' 放在逆属性中,它重现了你的错误。
您应该确保您的基础数据模型配置了正确的外键和多重性。这实际上就是 'inverseProperty' 的用途。