Код: Выделить всё
public class Book
{
public required Guid Id { get; init; }
public required string Title { get; set; }
public required List Genres { get; init; }
}
Код: Выделить всё
public class Genre
{
public Guid Id { get; init; }
public string Name { get; init; } = string.Empty;
[JsonIgnore]
public List Books { get; init; }
}
Я запускаю свой API и создаю следующую книгу:
Код: Выделить всё
{
"Title": "My first book",
"Genres": [
"Non-fiction book"
]
}
Код: Выделить всё
{
"Title": "My second book",
"Genres": [
"Horror novels"
]
}
Далее я хочу обновить конкретную книгу, отправив ее через API:
Код: Выделить всё
{
"Title": "My first book",
"Genres": [
"Non-fiction book",
"Non-fiction book", ( let's say that by mistake, the same genres get passed twice)
"Horror novels"
]
}
Или мне следует оставить все как есть и получать только те данные, которые мне нужны?< /p>
Я пытался получить все доступные жанры, а затем выделить отдельные жанры, но, похоже, у меня ничего не получилось.
Код: Выделить всё
[HttpPost]
public async Task Create([FromBody] CreateBook request)
{
await _bookRepository.CreateAsync(request);
return CreatedAtAction(nameof(Get), new {id = request.Id }, request);
}
Код: Выделить всё
public async Task UpdateAsync(Book book)
{
_context.Books.Update(book);
var result = await _context.SaveChangesAsync();
return result > 0;
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... lationship
Мобильная версия