【问题标题】:c# client to consume OData with linq supportc# 客户端使用具有 linq 支持的 OData
【发布时间】:2012-03-06 16:09:54
【问题描述】:

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();
    }
}

我可以使用以下网址查询数据: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' 部分?

【问题讨论】:

  • 如果它是一个 restful odata 端点,你应该能够从你的调用项目中添加一个Service Reference,VS 会为你生成一个代理类。
  • 它不像 WCF 数据服务那样完全是一个 restful odata 端点。它像 odata 端点一样可查询,但没有元数据,因此添加服务引用不起作用
  • 啊,太糟糕了。只是猜测。

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


【解决方案1】:

到目前为止我发现的最好的东西是netFX HttpEntityClient。 虽然,它看起来很不错,但听起来很奇怪,我没有找到与 MS 类似的东西..

【讨论】:

    猜你喜欢
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 2011-05-11
    • 2020-02-23
    相关资源
    最近更新 更多