2

Queryable を返す場合、MVC 3 アクションで oData クエリを使用することはできますか? そのようです:

public JsonResult GetComplaints()
{
    var complaints = db.Complaints.AsQueryable();
    return Json(complaints, JsonRequestBehavior.AllowGet);
}

また

public IQueryable<Complaint> GetComplaints()
{
    return db.Complaints.AsQueryable();
}

私がそう呼ぶと:

$.ajax({
    url: '@Url.Action("GetComplaints")?$filter=startswith(CompanyName, \'123\')',
    type: 'GET',
    success: function (data) {
        console.log(data);
    }
});
4

1 に答える 1

2

を使用した 2 番目の例のアクションはIQueryable<Complaint>、OData エンドポイントとして機能しますが、Web API を使用していて、メソッドが 内にある場合に限りますApiController

通常の MVC コントローラーは、そのままでは odata クエリをサポートしていません。

この記事から、Web.API での OData サポートについて学び始めることができます。

OData はNuget パッケージとしてインストールできます。

PM> Install-Package Microsoft.AspNet.WebApi.OData
于 2012-08-20T14:30:25.587 に答える