/ / ODataでクエリを実行したものとは異なるオブジェクトを返す方法は? - asp.net-web-api、odata

ODataでクエリを実行するオブジェクトとは別のオブジェクトを返す方法 - asp.net-web-api、odata

コントローラからオブジェクトを返そうとしています Get クエリが実行されるクラスとは異なるクラスのメソッド。

答えに基づいて ここに、これは私がやっていることです:

public PageResult<OutputPoco> Get(ODataQueryOptions<InputPoco> odataQueryOptions)

これを実行しようとすると私が得る 406 Not Acceptable。何が足りないの?このアプローチの実例はありますか?

更新: 使ってます ODataController. OutputPoco への参照が含まれています InputPoco。動作させるにはソートとフィルタリングが必要です InputPoco)。

回答:

回答№1は1

ODataControllerを使用していますか? ODataサービスを構築しているときだけ、ODataControllerを使用する必要があります。その場合は、EDMモデルを構築してから、odataルートを使ってODataサービスを公開する必要があります。

ODataクエリのセマンティクスをサポートするだけの(そしてURLの慣習やフォーマットのようなODataの残りの部分ではない)単純なWeb APIを構築するだけの場合は、代わりにApiControllerを使用してください。