【发布时间】: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