怎么启用OData

ailin84 2012-09-18 06:45:58
刚在网上学习 asp.net web api,网上的例子说Web API支持OData协议

原文:“ 运行程序,在浏览器里输入 http://localhost:9000/api/contacts?$Top=4&$OrderBy=Name

代码:



public class Contact
{
public int ContactId { get; set; }
public string Name { get; set; }
}

public class PController : ApiController
{
public IQueryable<Contact> Get()
{
var contacts = new List<Contact>(){
new Contact {ContactId = 1, Name = "Phil Haack"},
new Contact {ContactId = 2, Name = "HongMei Ge"},
new Contact {ContactId = 3, Name = "Glenn Block"},
new Contact {ContactId = 4, Name = "Howard Dierking"},
new Contact {ContactId = 5, Name = "Jeff Handley"},
new Contact {ContactId = 6, Name = "Yavor Georgiev"}
};
return contacts.AsQueryable();
}
}


为什么我本机上运行,返回的始终是全部数据,而不是例子所说的 “按名字排序的top 4个contract”???
...全文
212 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ailin84 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

先用 NuGet 装个 OData For WebApi Library
(System.Web.Http.OData.dll)

然后在你的Get()方法上加上 [Queryable] 特性即可。

[Queryable]
public IQueryable<Contact> Get()
{
...
}
[/Quote]

我在NuGet上找不到OData For WebApi Library
机器人 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 2 楼 的回复:

先用 NuGet 装个 OData For WebApi Library
(System.Web.Http.OData.dll)

然后在你的Get()方法上加上 [Queryable] 特性即可。

[Queryable]
public IQueryable<Contact> Get()
{
...
}


我在NuGet上找不到ODat……
[/Quote]

真心服你了,没看到我把链接都加上了么?
机器人 2012-09-18
  • 打赏
  • 举报
回复
先用 NuGet 装个 OData For WebApi Library
(System.Web.Http.OData.dll)

然后在你的Get()方法上加上 [Queryable] 特性即可。

[Queryable]
public IQueryable<Contact> Get()
{
...
}
ailin84 2012-09-18
  • 打赏
  • 举报
回复
没人回答么?
.NET Framework 是由 Microsoft 开发的一种全面且一致的编程模型,用于生成具有视觉震撼力的用户体验、无缝的安全通信和对一系列业务流程进行建模的能力的应用程序。 .NET Framework 4 将与旧的 Framework 版本并行工作。 默认情况下,基于早期版本的 Framework 的应用程序将继续在目标版本上运行。 Microsoft .NET Framework 4 提供了以下新功能和改进: 公共语言运行时 (CLR) 和基类库 (BCL) 的改进 性能改进,包括更好的多核心支持、后台垃圾回收和服务器上的探查器附加。 新的内存映射文件和数字类型。 更轻松的调试,包括转储调试、Watson 小型转储、64 位的混合模式调试和代码协定。 有关 CLR 和 BCL 的增强功能的完整列表,请转到此处。 Visual Basic 和 C# 语言中的创新,例如 lambda 语句、隐式行继续符、动态调度和命名/可选参数。 数据访问和建模的改进 利用 Entity Framework,开发人员可使用 .NET 对象和语言集成查询 (LINQ) 对关系数据库进行编程。 它具有多项新功能,包括持久性忽略和 POCO 支持、外键关联、延迟加载、测试驱动开发支持、模型中的函数和新的 LINQ 运算符。 其他功能包括:带自跟踪实体的更好的 n 层支持、使用 T4 模板的可自定义的代码生成、模型首次开发、改进的设计器体验、更好的性能以及实体集的复数形式。 有关更多信息,请转到此处。 WCF 数据服务是 .NET Framework 的一个组件,可以利用此服务创建基于 REST 的服务和应用程序,以便使用开放式数据协议 (OData) 在 Web 上公开和使用数据。 WCF 数据服务具有多项新功能,包括增强的 BLOB 支持、数据绑定、行计数、源自定义、投影和请求管道改进。 当前与 Microsoft Office 2010 的内置集成可将 Microsoft Office SharePoint Server 数据作为一个 OData 源公开,并使用 WCF 数据服务客户端库访问该数据源。 有关更多信息,请转到此处。 ASP.NET 的增强功能 对 HTML、元素 ID 和自定义 CSS 的更多控制,通过这些控制可更轻松地创建符合标准且 SEO 友好的 Web 窗体。 新的动态数据功能,包括新的查询筛选器、实体模板、对 Entity Framework 4 的更丰富的支持以及可轻松应用于现有 Web 窗体的验证和模板化功能。 针对新的 AJAX 库改进的 Web 窗体支持,包括对内容传递网络 (CDN) 的内置支持。 有关 ASP.NET 增强功能的完整列表,请转到此处。 Windows Presentation Foundation (WPF) 的改进 添加对 Windows 7 多点触控、功能区控件和任务栏扩展性功能的支持。 添加了对 Surface 2.0 SDK 的支持。 新的业务线控件,包括图表控件、智能编辑、数据网格以及其他用于改进生成以数据为中心的应用程序的开发人员体验的控件。 性能和伸缩性的改进。 文本清晰度、布局像素对齐、本地化和互操作性的可视化改进。 有关 WPF 的增强功能的完整列表,请转到此处。 Windows 工作流 (WF) 的改进,利用这些改进,开发人员能够更好地承载工作流并与其进行交互。 这些改进包括:改进的活动编程模型、改进的设计器体验、新的流程图建模样式、展开的活动面板、工作流规则集成和新的消息相关功能。 .NET Framework 4 还显著提高了基于 WF 的工作流的性能。 有关 WF 的增强功能的完整列表,请转到此处。 Windows Communication Foundation (WCF) 的改进,例如对 WCF 工作流服务的支持(可启用带消息传递活动的工作流程序)和相关支持。 此外,.NET Framework 4 还提供了新的 WCF 功能,如服务发现、路由服务、REST 支持、诊断和性能。 有关 WCF 的增强功能的完整列表,请转到此处。 创新的新并行编程功能,例如并行循环支持、任务并行库 (TPL)、并行 LINQ (PLINQ) 和协调数据结构(可让开发人员利用多核处理器)。

62,071

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧