有没有人知道是否有可以可靠地解析OData protocol Uri的开源.NET包装器?
我不是在寻找指向WCF数据服务的指针......我正在创建一个基于WCF的数据查询服务(由于复杂的原因)不能成为真正的Atom / OData服务,但我真的很喜欢它的表现力OData Uri用于标识数据源和查询参数。此外,我们可能会在未来的某个时间公开OData端点。
我通过WCF数据服务API查看(cursorally),似乎没有一个整齐的包装ODataUri类,它公开了服务主机,资源路径和查询参数。我可以写一个,但在我做之前,我宁愿看看有人已经做过了。
答案 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
的伟大(长篇)系列文章