2016-08-29 66 views
0

我試圖生成通過jaysvcutil現有的OData服務模型屬性「模式」和我得到:jaysvcutil與類型錯誤失敗:無法讀取的不確定

[...]\node_modules\jaydata-odatajs\lib\odata\odatautils.js:385 
      throw err; 
      ^

TypeError: Cannot read property 'schemas' of undefined 
    at Metadata.processMetadata ([...]\node_modules\jaydata-dynamic-metadata\lib\metadata.js:353:35) 
    at requestData ([...]\node_modules\jaydata-dynamic-metadata\lib\metadataHandler.js:46:42) 
    at [...]\node_modules\jaydata-odatajs\lib\odata\odatautils.js:382:13 
    at IncomingMessage.<anonymous> ([...]\node_modules\jaydata-odatajs\lib\odata\net.js:179:21) 
    at emitNone (events.js:72:20) 
    at IncomingMessage.emit (events.js:166:7) 
    at endReadableNT (_stream_readable.js:921:12) 
    at nextTickCallbackWith2Args (node.js:442:9) 
    at process._tickCallback (node.js:356:17) 

我試圖凝聚領域模型到的東西很簡單,所以我現在的$元數據是這樣的:

<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" Version="1.0"> 
    <edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="1.0"> 
     <Schema xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2007/05/edm" Namespace="data"> 
      <EntityType Name="Product"> 
       <Key> 
        <PropertyRef Name="ProductId"/> 
       </Key> 
       <Property Name="ProductId" Type="Edm.Int64" Nullable="false"/> 
       <Property Name="ProductNo" Type="Edm.String" Nullable="true"/> 
       <Property Name="LifeTime" Type="Edm.Int64" Nullable="false"/> 
       <Property Name="Capacity" Type="Edm.Int64" Nullable="false"/> 
       <Property Name="PackingSize" Type="Edm.Int64" Nullable="false"/> 
       <Property Name="CreationTime" Type="Edm.DateTime" Nullable="false"/> 
       <Property Name="ModificationTime" Type="Edm.DateTime" Nullable="false"/> 
      </EntityType> 
     </Schema> 
     <Schema xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2007/05/edm" Namespace="Namespace"> 
      <EntityContainer Name="DomainData" m:IsDefaultEntityContainer="true"> 
       <EntitySet Name="Product" EntityType="data.Product"/> 
      </EntityContainer> 
     </Schema> 
    </edmx:DataServices> 
</edmx:Edmx> 

這是使用OData的V1和我現有的WCF DataService的基於OData的提供者是不能夠改變這種狀況 - 所以請不要推薦更新提供商V4 。

任何幫助,將不勝感激。

回答

0

隨着每一次反饋從JayData團隊:

JayData supports OData v4, as there have been multiple breaking changes in both OData and DataJS since v1. 

JayData 1.3.7 supports v2 and v3, but it does not support TypeScript and Angular 2. 

所以我會在看的替代品,大概breezejs。

相關問題