8

有谁知道是否有可以可靠地解析OData 协议 Uri的开源 .NET 包装器?

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

我已经(粗略地)查看了 WCF 数据服务 API,似乎没有一个整齐包装的 ODataUri 类公开服务主机、资源路径和查询参数。我可以写一个,但在我写之前,我宁愿看看是否有人已经完成了。

4

1 回答 1

6

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

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

于 2010-09-02T02:41:03.420 回答