如何方便地从.net代码中使用OData服务?



是否有从。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查询字符串,并解析响应。

这种类型的库已经建立了吗?还是我一个人在这里?:)

谢谢!

根据Padrus的回答,您正在寻找的库绝对是WCF Data Services。它具有可靠的代码生成经验以及相当完整的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来更新依赖项。

最新更新