breeze.js - 帮助理解getEntityTypes,IStructuralType和EntityType强制转换

时间:2014-08-10 10:45:52

标签: typescript odata breeze

提前感谢您提供的任何帮助。

我正在使用TypeScript并使用breeze.EntityManager.metadataStore.getEntityTypes()

返回breeze.IStructuralType []

对于数组中的特定项,我需要navigationProperties列表。我可以看到这是对象的属性。如果我将项目转换为breeze.EntityType

,我可以使用它
(<breeze.EntityType>myItem).navigationProperties
  1. 是否有任何其他可从getEntityTypes返回的非EntityType对象?
  2. 有没有比演员更好的方法?
  3. 再次感谢, -Mike Graham

2 个答案:

答案 0 :(得分:3)

metadataStore.getEntityTypes()方法返回元数据中表示的所有类型,包括EntityTypeComplexType定义。

EntityTypes有导航属性; ComplexTypes没有。请参阅this page in the Breeze docs for more about ComplexTypes

您可以进行演员表,但首先应检查myItem instanceof EntityType

答案 1 :(得分:1)

如果它出现在所有breeze.IStructuralType上,你可以告诉打字稿:

declare module breeze{
    interface IStructuralType{
         navigationProperties: any[]; // or what have you
    }
}