c#客户端使用linq支持使用OData

时间:2012-03-06 16:09:55

标签: c# odata asp.net-mvc-4 wcf-web-api

ASP.NET MVC4 Beta引入了一种使用WebAPI创建OData端点的简便方法。

所以拥有以下控制器:

public class ValuesController : ApiController
{
    // GET /api/values
    public IQueryable<Document> Get()
    {
        return (new[] { 
            new Document() { Info = "a", Title = "qwe1" }, 
            new Document() { Info = "b", Title = "qwe2" }, }).AsQueryable();
    }
}

我可以使用url查询数据: http:// localhost:44087 / api / values?$ filter = Title eq'qwe1'

是否有适当的.net库可以使用它?所以我可以这样做:

new WebApiClient("http://localhost:44087/api/values")
                    .Get<Document>().Where(x=>x.Title == "qwe1").ToList()

不手动指定$filter=Title eq 'qwe1'部分?

1 个答案:

答案 0 :(得分:2)

到目前为止,我发现的最好的事情是netFX HttpEntityClient。 虽然它看起来还不错,但我发现没有什么可以与MS相提并论,这听起来很奇怪。