是否有从.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查询字符串,并解析响应。
这样的图书馆已经建成了吗?或者我在这里独自一人?:)
谢谢!
答案 0 :(得分: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来更新未来的依赖关系。
答案 1 :(得分:1)
也许这段视频可以为您提供帮助:http://msdn.microsoft.com/en-us/data/gg591296.aspx