2014-11-25 22 views
1

ResourceUnavailabilities調用addEntityType,我得到的錯誤:error configuring an instance of 'NavigationProperty'. The 'entityTypeName' parameter must be a 'string'微風:客戶端模型與navigationProperty是給錯誤

我不明白這一點。我在微風的網站上看過tutorial,我不知道我做錯了什麼。

客戶端模型:

 metadataStore.addEntityType({ 
      shortName: 'Unavailability', 
      namespace: 'ecdt', 
      dataProperties: { 
       id: { dataType: DT.Guid, isPartOfKey: true }, 
       startDate: { dataType: DT.DateTimeOffset }, 
       endDate: { dataType: DT.DateTimeOffset }, 
       isDayOff: { dataType: DT.Boolean } 
      } 
     }); 

     metadataStore.registerEntityTypeCtor('Unavailability', null, null); 

     metadataStore.addEntityType({ 
      shortName: 'ResourceUnavailabilities', 
      namespace: 'ecdt', 
      dataProperties: { 
       id: { dataType: DT.Guid, isPartOfKey: true }, 
       resourceId: { dataType: DT.Int32 }, 
      }, 
      navigationProperties: { 
       unavailabilities: { dataType: 'Unavailability', hasMany: true } 
      } 
     }); 

     metadataStore.registerEntityTypeCtor('ResourceUnavailabilities', null, null); 

除此之外寄託都工作正常。 (只要我刪除了導航屬性...)我可以創建Unavailability實體,也ResourceUnavailabilities實體

此外,在本教程中,您使用name屬性而不是shortname。如果我這樣做,我得到一個錯誤 Error configuring an instance of 'EntityType'. Unknown property: 'name'。樣本是否過時?

回答

2

好的,它已經解決了。正確的映射是:

metadataStore.addEntityType({ 
      shortName: 'Unavailability', 
      namespace: 'ecdt', 
      dataProperties: { 
       id: { dataType: DT.Guid, isPartOfKey: true }, 
       startDate: { dataType: DT.DateTimeOffset }, 
       endDate: { dataType: DT.DateTimeOffset }, 
       isDayOff: { dataType: DT.Boolean } 
      }, 

      navigationProperties: { 
       unavailabilities: { entityTypeName: 'ResourceUnavailabilities', isScalar: true, associationName: "test" } 
      } 
     }); 

     metadataStore.registerEntityTypeCtor('Unavailability', null, null); 

     metadataStore.addEntityType({ 
      shortName: 'ResourceUnavailabilities', 
      namespace: 'ecdt', 
      dataProperties: { 
       id: { dataType: DT.Guid, isPartOfKey: true }, 
       resourceId: { dataType: DT.Int32 }, 
      }, 
      navigationProperties: { 
       unavailabilities: { entityTypeName: 'Unavailability', isScalar: false, associationName: "test" } 
      } 
     }); 

看起來breeze文檔並不完全是最新的。

+1

哪個文件?如果你給我一個鏈接,我會更新它。 – 2014-11-25 18:36:56

+0

鏈接在我的第一篇文章(教程)中:這裏又是:http://www.getbreezenow.com/documentation/metadata-by-hand – Sam 2014-11-26 07:42:05

+0

什麼部分是不正確的?該頁面聲明它使用「breeze.metadata-helper.js」組件來簡化創建元數據。也許你沒有看到,或者我錯過了一些東西。 – 2014-11-27 22:32:58