如何在连接表中删除多对多关系(ASP)中的条目.净)



我正在尝试删除关系表中的条目"SongPlaylist">

使用where不能选择条目,有没有办法删除这个关系?这是我的三个模型:

public int SongId { get; set; }
public IList<SongPlaylist> SongPlaylist { get; set; }
public int PlaylistId { get; set; }
public IList<SongPlaylist> SongPlaylist { get; set; }
public int SongId { get; set; }
public Song Song { get; set; }
public int PlaylistId { get; set; }
public Playlist Playlist { get; set; }

下面是我删除关系的方法:

var RelationToDelete = _context.SongPlaylist.Where(x => x.PlaylistId == playlistId && x.SongId == songId).First();

我不想删除播放列表对象和歌曲对象,只删除两者之间的关系。

你可以试试:

var removingRows= _context.Set<SongPlaylist>().Where(x => x.PlaylistId == playlistId && x.SongId == songId).ToArray();
if(removingRows != null)
{
_context.Set<SongPlaylist>().RemoveRange(removingRows);
_context.SaveChanges();
}

如果您确定只需要删除一行:

var removingRow=_context.Set<SongPlaylist>().Where(x => x.PlaylistId == playlistId && x.SongId == songId).FirstOrDefault();
if(removingRow != null)
{
_context.Set<SongPlaylist>().Remove(removingRow);
_context.SaveChanges();
}

您是否尝试过包含相关实体?

:服用点什么

var RelationToDelete = _context.SongPlaylist.include(yy=>yy.Playlist).Where(x => x.PlaylistId == playlistId && x.SongId == songId).First();

最新更新