以前は、次のような Web API コントローラーがありました。
public IQueryable<ApiDesignOverview> GetList(
string brandIds = "",
string categoryIds = "",
string query = "",
string categoryOp = "or")
OData NuGet パッケージが $inlinecount OData パラメーターをサポートするようになったと聞いたので、http: //www.asp.net/web-api/overview/odata-support-in-aspnet-web の手順を使用して追加しようとしました-api/supporting-odata-query-options - OData ホールセールを使用する必要はありません。アプリの再構築が大量に必要になるため、このPageResult<T>
オプションを選択しました。
だから今私のコントローラは次のようになります:
public PageResult<ApiDesignOverview> GetList(
ODataQueryOptions<ApiDesignOverview> options,
string brandIds = "",
string categoryIds = "",
string query = "",
string categoryOp = "or")
私の問題は今:
- 単体テストのために ODataQueryOptions をモックするにはどうすればよいですか?
- それらを嘲笑できない場合、どうすれば作成できますか? を
ODataQueryContext
構築するには が必要でMicrosoft.Data.Edm.IEdmModel
、これには が必要です。これに関するドキュメントが見つかりません。
本当に、以前のようにコントローラーの署名から ODataQueryOptions を削除できた方がよいでしょう。これは可能ですか?