在C#中使用OData(Open Data Protocol)可以方便地訪問和操作RESTful API返回的數據。以下是一些使用OData的技巧:
引入必要的命名空間:
using System.Web.OData;
using System.Net.Http;
使用ODataClient
類發起請求:
var client = new ODataClient("https://api.example.com/odata");
查詢數據:
var query = client.Products.Where(p => p.Category == "Electronics");
var results = await query.ToListAsync();
投影查詢結果:
var products = await client.Products
.AddQueryOptions(q => q.Filter(f => f.ReleaseDate < DateTime.Now))
.AddQueryOptions(q => q.Skip(10).Take(20))
.ToListAsync();
訪問導航屬性:
var firstProduct = results.First();
var relatedProducts = await firstProduct.RelatedProducts.ToListAsync();
使用Select
和Expand
方法定制查詢:
var products = await client.Products
.Select(p => new { p.Name, p.Price })
.Expand(p => p.Category)
.ToListAsync();
處理分頁:
var query = client.Products.Where(p => p.Category == "Electronics");
var pageCount = await query.CountAsync();
var currentPage = 1;
var pageSize = 20;