[英]EF Core 5, delete a relation many-to-many
我有一個由EF Core 5提供支持的 api 並且我正在處理多對多關系(藝術家和發布表)。
即使這樣,post 操作也能正常工作,以藝術家為例,我決定不添加發送現有版本的 Guid 的可能性,而只添加將同時創建的完整版本對象。
那么我如何將藝術家鏈接到已經存在的版本呢? 我試圖在 put 動作中這樣做,方法是在 artistD 內部發送一個 releaseDto 列表,只列出競爭的 Guid。
這可以很好地添加新的關系,ArtistRelease 聯結表確實已更新但我未指定的 Guid 未刪除,我無法刪除關系,除非我刪除藝術家或版本。
所以我的問題是如何刪除關系?
你能給我一些幫助嗎?
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();
我找到了一個解決方案,我只需要使用“包含”來獲取藝術家以獲取其版本
RepositoryContext.Set<T>().Where(expression).Include(includeExpression)
如果我用一個空列表保存藝術家,連接表將被更新:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.