gpt4 book ai didi

c# - 如何为 Odata 创建按 Id 获取的查询表达式

转载 作者:行者123 更新时间:2023-11-30 14:10:33 24 4
gpt4 key购买 nike

我已经创建了一个 OData 服务,现在我正尝试在客户端使用该服务。我想在 c# 查询表达式中创建一个表达式,例如下面的 url-

http://odata.org/Product-Service/Product(150)

上面的 url 在浏览器中工作正常,但我想在 C# 中为上面的 url 创建查询表达式。任何帮助将不胜感激。

最佳答案

您可以在 System.Data.Services.Client 中使用 DataServiceContext + DataServiceQuery 来访问 Url。请记住,由于延迟加载,在调用 First() 之前不会执行任何查询。

var context = new DataServiceContext(new Uri("http://odata.org/Product-Service"), DataServiceProtocolVersion.V3);
var query = context.CreateQuery<Product>("Product");
Product product = query.Where(p => p.Id == 150).First();

以上内容应解析为 http://odata.org/Product-Service/Product(150)您可以通过查看 query.Entities 集合来检查。集合中的每个实体都将包含一个 Uri。

此外,如果您的产品类包含导航属性,您将需要添加扩展查询选项:

var query = context.CreateQuery<Product>("Product").
AddQueryOption("$expand", "NavigationProperty");

关于c# - 如何为 Odata 创建按 Id 获取的查询表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23493451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com