对于我的 ASP.NET Web API,我有类似于下面的多对多关系:
public class Book
{
public int Id { get; set; }
public string Title { get; set; }
public Author Author { get; set; }
public ICollection<BookTag> BookTags { get; set; }
}
public class BookTag
{
public int BookId { get; set; }
public int TagId { get; set; }
public Tag Tag { get; set; }
public int BookId { get; set; }
public Book Book { get; set; }
}
public class Tag
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<BookTag> BookTags { get; set; }
}
现在我为所有 3 个创建了 DTO 和控制器,但这意味着:
现在必须创建 3 个控制器,这与存储库、DTO 等一起很痛苦。(灵活但需要维护更多东西)
我希望有一种更简单的方法来维护这种关系,并可能使 POST 请求更简单地添加标签
Tag
或
Book
没有任何问题。它们之间的关系保存在BookTag
表中(这使得它们彼此独立)。
您在这里使用的处理多对多关系的方法非常常见,并且经常用于处理它。