EF Core 5, удаление отношения «многие ко многим»

У меня есть API на базе EF Core 5, и я работаю с отношениями «многие ко многим» (таблицы «Исполнители» и «Релизы»).

Пост-экшен работает нормально даже несмотря на то, что, например, для художника я решил не добавлять возможность отправлять гайды уже существующих релизов, а только полные объекты релизов, которые будут созданы одновременно.

Итак, как мне связать исполнителей с уже существующими релизами? Я пытаюсь сделать это внутри действия put, отправив внутрь artistD to releaseDto список только конкурирующих Guids.

Это прекрасно работает для добавления новых отношений, соединительная таблица ArtistRelease действительно обновляется, НО Guids, которые я не указываю, не удаляются, я не могу удалить отношения, за исключением случаев, когда я удаляю исполнителя или релиз.

Итак, мой вопрос: как я могу удалить отношения?

Можете ли вы оказать мне некоторую помощь, пожалуйста?

var releases = Repository.Release.GetReleases(artistForUpdateDto.Releases, trackChanges: false);

if (releases.Count() != artistForUpdateDto.Releases.Count())
{
    Logger.LogInfo($"Some release ids are not valid in the ArtistForUpdateDto object");
    return NotFound();
}

Mapper.Map(artistForUpdateDto, artist);
artist.Releases = releases.ToList();

Repository.Save();
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
0
1 013
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел решение, мне просто нужно было получить исполнителя с помощью «include», чтобы получить его релизы.

RepositoryContext.Set<T>().Where(expression).Include(includeExpression)

Если я сохраню исполнителя с пустым списком, таблица соединений будет обновлена ​​:)

Другие вопросы по теме