是否有OData协议Uri的.NET类包装器

时间:2010-09-01 20:27:04

标签: .net wcf wcf-data-services odata

有没有人知道是否有可以可靠地解析OData protocol Uri的开源.NET包装器?

我不是在寻找指向WCF数据服务的指针......我正在创建一个基于WCF的数据查询服务(由于复杂的原因)不能成为真正的Atom / OData服务,但我真的很喜欢它的表现力OData Uri用于标识数据源和查询参数。此外,我们可能会在未来的某个时间公开OData端点。

我通过WCF数据服务API查看(cursorally),似乎没有一个整齐的包装ODataUri类,它公开了服务主机,资源路径和查询参数。我可以写一个,但在我做之前,我宁愿看看有人已经做过了。

1 个答案:

答案 0 :(得分:6)

我知道你说你看过API,但是你看过实际的代码了吗? .Net客户端库已经开源http://odata.codeplex.com/,所以如果你找不到它,你可以使用他们的代码作为起点(并希望将其贡献给社区)。

基本上,您需要的是LINQ to OData Uri提供程序。如果我没记错的话,Astoria的一个昵称就是LINQ to REST。您需要做的是在客户端,将LINQ表达式树转换为OData URI格式,并在服务器上将URI转换回LINQ表达式树。创建自定义LINQ提供程序并不是最简单的事情,但Matt Warren有一个关于构建IQueryable Providers http://blogs.msdn.com/b/mattwar/archive/2008/11/18/linq-links.aspx

的伟大(长篇)系列文章