2017-05-27 11 views
0

こんにちは私はOdata用のコード生成ツールを作成していますが、これまでのところodata v4は実装するのがとても簡単でした。OData V3メタデータでアクションがどのように定義されていますか?

odata V3について私はこれまでメタデータの機能が定義されていないので、私はメタデータに問題を抱えていましたが、OData V3のアクションに相当するFunctionImport ?そうでない場合は、メタデータのどのノードにアクションが配置されているかを指摘できますか?

おかげ

答えて

1

アクションは、結合又は非結合と次のようにメタデータ(EDM)に添加することができることができる。

builder.Entity<entityname>.Action("actionname").Parameter<type>("paramtername").Returns<type>(); 

をここで、ビルダーはODataBuilder又はConventionalOdataBuilderのいずれかであり得ます。 アクションをアンバインドしたい場合は、エンティティを削除して直接ビルダーに追加できます。 アクションをIEdmModelに直接追加する場合は、アクションをスキーマ要素として追加できます。

出典:https://docs.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/odata-v3/odata-actions

編集:

<Schema Namespace="Default" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"> 
<EntityContainer Name="Container" m:IsDefaultEntityContainer="true"> 
<EntitySet Name="Movies" EntityType="ODataActionsSample.Models.Movie" /> 
    <FunctionImport Name="SetDueDate" ReturnType="ODataActionsSample.Models.Movie" IsBindable="true" EntitySet="Movies" m:IsAlwaysBindable="true">      
    <Parameter Name="bindingParameter" Type="ODataActionsSample.Models.Movie" />      
    <Parameter Name="DueDate" Type="Edm.DateTime" Nullable="false" />  
    </FunctionImport> 
    <FunctionImport Name="CreateMovie" ReturnType="ODataActionsSample.Models.Movie" EntitySet="Movies"> 
    <Parameter Name="Title" Type="Edm.String" FixedLength="false" Unicode="false" /> 
    </FunctionImport> 
</EntityContainer> 

+0

おかげで、あなたが答えるために、それは部分的に、今、私はあなたが行動にあなたを追加する方法を理解して、私の質問に答え、次のようにアクションは、メタデータで定義されていますあなたのメタデータですが、実際に見たいのは、アクションがxmlで定義されているメタデータの例のV3です。今、私はmetdataをIEdmModelにキャストしています。そこから必要な情報をすべて読み込みます。 –

+0

メタデータはレスポンスのXML形式で取得されます。コード内でIEdmModelで取得できます。メタデータをIEdmModelにキャストする必要はありません。builder.GetEdmModel()はそれを行います。 関連モデルなしで手動でEdmをビルドする場合は、このリンクを参考にしてください。 http://odata.github.io/WebApi/(2.2.Build Edm Model Explicitlyのアクションで) – JCrypter

+0

もう一度ありがとうあなたの答えは、私はメタデータを構築していないことを覚えておく必要があります、私はサードパーティのサービスから基本的に私はXMLをダウンロードし、POCOクラスを生成するためにそれを解析するサービスからクエリを読むこと、私はまた、私はあなたがメタデータやXMLでどのように見えているのかわからない理由を含むOdataV3サービス3を表示していません –

関連する問題