こんにちは私はOdata用のコード生成ツールを作成していますが、これまでのところodata v4は実装するのがとても簡単でした。OData V3メタデータでアクションがどのように定義されていますか?
odata V3について私はこれまでメタデータの機能が定義されていないので、私はメタデータに問題を抱えていましたが、OData V3のアクションに相当するFunctionImport ?そうでない場合は、メタデータのどのノードにアクションが配置されているかを指摘できますか?
おかげこんにちは私はOdata用のコード生成ツールを作成していますが、これまでのところodata v4は実装するのがとても簡単でした。OData V3メタデータでアクションがどのように定義されていますか?
odata V3について私はこれまでメタデータの機能が定義されていないので、私はメタデータに問題を抱えていましたが、OData V3のアクションに相当するFunctionImport ?そうでない場合は、メタデータのどのノードにアクションが配置されているかを指摘できますか?
おかげアクションは、結合又は非結合と次のようにメタデータ(EDM)に添加することができることができる。
builder.Entity<entityname>.Action("actionname").Parameter<type>("paramtername").Returns<type>();
をここで、ビルダーはODataBuilder又はConventionalOdataBuilderのいずれかであり得ます。 アクションをアンバインドしたい場合は、エンティティを削除して直接ビルダーに追加できます。 アクションをIEdmModelに直接追加する場合は、アクションをスキーマ要素として追加できます。
編集:
<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>
おかげで、あなたが答えるために、それは部分的に、今、私はあなたが行動にあなたを追加する方法を理解して、私の質問に答え、次のようにアクションは、メタデータで定義されていますあなたのメタデータですが、実際に見たいのは、アクションがxmlで定義されているメタデータの例のV3です。今、私はmetdataをIEdmModelにキャストしています。そこから必要な情報をすべて読み込みます。 –
メタデータはレスポンスのXML形式で取得されます。コード内でIEdmModelで取得できます。メタデータをIEdmModelにキャストする必要はありません。builder.GetEdmModel()はそれを行います。 関連モデルなしで手動でEdmをビルドする場合は、このリンクを参考にしてください。 http://odata.github.io/WebApi/(2.2.Build Edm Model Explicitlyのアクションで) – JCrypter
もう一度ありがとうあなたの答えは、私はメタデータを構築していないことを覚えておく必要があります、私はサードパーティのサービスから基本的に私はXMLをダウンロードし、POCOクラスを生成するためにそれを解析するサービスからクエリを読むこと、私はまた、私はあなたがメタデータやXMLでどのように見えているのかわからない理由を含むOdataV3サービス3を表示していません –