2

私は MVC 4 と WebApi 1 を使用してプロジェクトに取り組んでいますが、うまく機能します。MVC 5 と WebApi 2 にアップグレードした後、次のシナリオを除いて、すべてがうまく機能します: クエリで $select ステートメントを使用し、いくつかのプロパティを指定する場合、 options.ApplyTo() メソッドは予期しない結果を返します。

System.Web.Http.OData.Query.TruncatedCollection`1[System.Web.Http.OData.Query.Expressions.SelectExpandBinder+SelectSome`1[MvcApp.Domain.Entities.Users]]

この変更の理由と、それを WebApi 1 として IQueryable< Users> に変換する方法は? ここに私のコード:

public PageResult<Users> Get(ODataQueryOptions options)
{
    ODataQuerySettings settings = new ODataQuerySettings() { PageSize = 10 };
    IQueryable results = options.ApplyTo(Repository.Data, settings);
    var items = results as IEnumarable<Users>;
    // items will be null if you $select some properties!
    return new PageResult<Users>(items, null, Request.GetInlineCount().Value);
}

助けてください。

4

0 に答える 0