1

是否有从 .NET 代码使用 OData 服务的最佳实践方法/库?这样我就不必弄乱构建查询字符串并手动解析响应了吗?

我设想这样的事情:

class Person
{
    public string Name {get; set;}
    public int Age {get; set;}
}

void Main()
{
    Person person = 
       new ODataRequest<Person>()
           .EndPoint("http://server.com/personservice")
           .AddHeader("header", "value")
           .AsJson()
           .Where(p => p.Name.EndsWith("y") && p.Age > 21)
           .Skip(10)
           .Take(5)
           .Send();
}

请忽略语法(并且我将端点相关的东西与查询相关的东西混合在一起),这只是为了传达这个想法。

上面的代码应该使用 $filter、$skip 等表达式自动构建正确的 OData 查询字符串,并解析响应。

这样的图书馆已经建成了吗?还是我一个人在这里?:)

谢谢!

4

2 回答 2

2

根据 Padrus 的回答,您正在寻找的库绝对是 WCF 数据服务。它具有扎实的代码生成经验以及相当完整的 LINQ 提供程序。如果您想以最少的投资预先使用它,请试用最新的 LINQPad 测试版 ( http://www.linqpad.net/Beta.aspx ),它内置了 WCF DS 客户端。尽我所能知识,.NET 没有其他可比的东西。

注意:WCF DS 内置在 Visual Studio 中。如果您使用添加服务引用向导添加对 OData 服务的引用,您将获得我们的 DLL。请注意,如果您使用的是 VS 2012,您将获得对我们的 NuGet 包的引用,然后您可以维护您维护所有其他 NuGet 依赖项的方式。如果您使用的是 VS 2010,您仍应考虑添加对 NuGet 包的引用并使用 NuGet 来更新依赖项。

于 2013-04-18T17:09:07.643 回答
1

也许这个视频可以帮助你:http: //msdn.microsoft.com/en-us/data/gg591296.aspx

于 2013-04-18T12:07:19.613 回答