簡體   English   中英

EF Core 5,刪除多對多關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM