我有以下型号:
public class Product
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public Category Category { get; set; }
}
public class Category
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
public ICollection<Product> Products { get; set; }
}
我有一个包含两个控制器的WebAPI项目: ProductController与GET,POST,PUT和DELETE。 和带有GET的CategoryController,包括Products,POST,PUT和DELETE。
我希望能够在现有类别中添加产品,但我不知道如何执行该产品。
我尝试使用对父类别的引用来调用ProductController的POST方法,但它在我的数据库中创建了一个新类别。
我是否必须使用类别的PUT方法?
问候。
答案 0 :(得分:2)
尝试稍微更改模型。
将CategoryId作为外键添加到产品实体。如果每个产品都有一个类别,但一个类别可以有许多产品使其成为一对多的关系。
现在,当您发布到产品控制器时,请确保使用它传递CategoryId。这建立了两者之间的关系,您可以通过联接选择有关该类别的信息,或者您想要解决问题。
我假设您使用Entity Framework进行数据访问?但鉴于你提供的信息,我能想到的就是这些。