【问题标题】:Equivalent of http://localhost/Odata/User(1)/Contacts in .NET webapi Odata Client.NET webapi Odata 客户端中的 http://localhost/Odata/User(1)/Contacts 等价物
【发布时间】:2014-07-27 07:32:52
【问题描述】:

我正在开发具有导航属性的基于 WebApi 的 OData 服务。我可以使用过滤器和联系人获得结果,但是我感兴趣的是是否有一种在.net 中表达的方式可以在联系人查询中解析到服务器。目标是通过使用客户端生成的代理类来实现结果。

http://mydevserver/Odata/User(1)/Contacts

试试这个

 Dim query = From c In cont.User.Expand("Contacts") Where c.Id = userId
结果在
http://localhost/Odata/User(1)?$expand=Contacts

给我这个 我曾尝试使用 LINQ 和内联查询,但无法生成完全相同的查询。如果我在提琴手中运行相同的操作。我可以看到用户相关联系人的结果。可能是我错过了一些东西。可以请有人指出我正确的方向。 谢谢

【问题讨论】:

  • 告诉我们你有什么代码
  • 如果结果相同,为什么 url 看起来很重要?

标签: c# linq asp.net-web-api odata


【解决方案1】:

假设你使用的是 OData 客户端,你可以试试下面的代码。

    Dim queryUser = (From p In cont.UserWhere c.Id = userId).First()
    Dim contact As QueryOperationResponse(Of Contact) = cont.LoadProperty(queryUser, "Contacts")

此代码将发送两个请求:

~/Odata/User(1)

~/Odata/User(1)/联系人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多