首先,需要在 ASP.NET 6 Web API 项目中添加 OData 应用程序包。在解决方案资源管理器中右键单击项目,选择“Manage NuGet Packages”选项卡,搜索并安装 Microsoft.AspNetCore.OData 包。
接下来,在启动类(通常是 Program.cs 文件)中注册 OData 服务。在 ConfigureServices 方法中添加以下代码:
services.AddOData();
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public int CategoryId { get; set; }
public Category Category { get; set; }
}
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection Products { get; set; }
}
在控制器中,我们可以通过以下代码定义数据源和 OData 模型:
private static IList _categories = new List
{
new Category { Id = 1, Name = "Category 1" },
new Category { Id = 2, Name = "Category 2" },
new Category { Id = 3, Name = "Category 3" }
};
private static IList _products = new List
{
new Product { Id = 1, Name = "Product 1", Price = 10, CategoryId = 1 },
new Product { Id = 2, Name = "Product 2", Price = 20, CategoryId = 1 },
new Product { Id = 3, Name = "Product 3", Price = 30, CategoryId = 2 },
new Product { Id = 4, Name = "Product 4", Price = 40, CategoryId = 3 }
};
private static IEdmModel