Итак, у меня есть 4 класса:
public class Book
{
public int BookId { get; set; }
public string Title { get; set; }
public Author Author { get; set; }
public int AuthorId { get; set; }
public ICollection<BookCategory> BookCategories { get; set; }
}
public class Author
{
public int AuthorId { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public ICollection<Book> Books { get; set; }
}
public class Category
{
public int CategoryId { get; set; }
public string CategoryName { get; set; }
public ICollection<BookCategory> BookCategories { get; set; }
}
public class BookCategory
{
public int BookId { get; set; }
public Book Book { get; set; }
public int CategoryId { get; set; }
public Category Category { get; set; }
}
Я хочу написать функцию для запроса [HttpGet], чтобы он возвращал JSON вот так:
[
{
"bookId": "1",
"title": "Book Title 1",
"authorName": "Author Name 1",
"aurhorSurname": "Author Surname 1",
"categories": ["category1", "category2"]
},
{
"bookId": "2",
"title": "Book Title 2",
"authorName": "Author Name 1",
"aurhorSurname": "Author Surname 1",
"categories": ["category2", "category3"]
},
{
"bookId": "3",
"title": "Book Title 3",
"authorName": "Author Name 1",
"aurhorSurname": "Author Surname 1",
"categories": ["category1", "category4"]
},
]
Я знаю как работать с отношениями «один ко многим», и я создал API для авторов и книг, где у каждого автора есть массив книг, которые он написал. Но эта объединенная таблица (BookCategory) меня смущает.