breezejs导航刷新"此查询没有resourceName"

时间:2015-02-26 23:38:21

标签: javascript breeze

我有一个微风js导航属性,所有加载都很好,但我想刷新导航记录所以我尝试使用以下代码

this.data().entityAspect
  .loadNavigationProperty('PropertyDocuments')
  .fail((reason) => alert("Data refresh failed" + reason));

哪个错误此查询没有resourceName

刷新此方法的正确方法是什么?

导航属性数据: -

?this.data().getProperty('PropertyDocuments');
__proto__: []
_addsInProcess: []
arrayChanged: {...}
length: 19
navigationProperty: {...}
parentEntity: {...}
wasLoaded: true
[0]: {...}
[1]: {...}
[2]: {...}
[3]: {...}


?this.data().getProperty('PropertyDocuments').navigationProperty
__proto__: {...}
associationName: "PropertyDocument_PropertyForSale"
entityType: {...}
entityTypeName: "PropertyDocument:#DomainModel.Models"
foreignKeyNames: []
foreignKeyNamesOnServer: []
inverse: {...}
invForeignKeyNames: [PropertyID]
invForeignKeyNamesOnServer: [PropertyID]
isScalar: false
name: "PropertyDocuments"
nameOnServer: "PropertyDocuments"
parentType: {...}
validators: []

1 个答案:

答案 0 :(得分:2)

这可能是由于没有“默认”错误造成的。与navigation属性返回的entityType关联的资源名称。 breeze使用resourceName来确定要调用的Web服务端点。

查看此属性返回的实体类型的元数据。我的猜测是此类型的 defaultResourceName 为null。您可以通过MetadataStore为任何类型设置defaultResourceName。

var custType = em1.metadataStore.getEntityType("PropertyDocument");
custType.setProperties( {
    defaultResourceName: "PropertyDocuments"
)};

另请参阅' defaultResourceName'本页面的描述: http://www.breezejs.com/sites/all/apidocs/classes/EntityType.html