我有一个 web api,它有一种获取产品的方法。产品属于一个类别。现在解决问题,当我调用 api 时,它返回产品的 json 对象,但产品似乎没有它们所属的类别。我也尝试在浏览器上使用 OData 扩展,但没有发生任何不同关于 json 和发送到数据库的查询。
下面的代码是我的api方法。
public IQueryable<Product> Get()
{
var store = new DatabaseContext();
return store.Products;
}
产品类别
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public int CatId { get; set; }
public virtual Category Category { get; set; }
}
类别类
public class Category
{
public int CategoryId { get; set; }
public string Name { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
数据库映射
public class ProductConfig : EntityTypeConfiguration<Product>
{
public ProductConfig()
{
HasKey(m => m.ProductId)
.Property(m => m.ProductId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
HasRequired(m => m.Category)
.WithMany(m => m.Products)
.HasForeignKey(m => m.CatId);
}
}
public class CategoryConfig : EntityTypeConfiguration<Category>
{
public CategoryConfig()
{
HasKey(m => m.CategoryId)
.Property(m => m.CategoryId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
}
}
浏览器上的 JSON 结果
[
{
ProductId: 2,
Name: "Malva Pudding",
CatId: 1,
Category: null
},
{
ProductId: 3,
Name: "Ultra mel",
CatId: 1,
Category: null
}
]