EF Entitystate从多对多中删除1条记录

本文关键字:删除 1条 记录 Entitystate EF | 更新日期: 2023-09-27 18:28:19

因此,我尝试从多对多表中删除1条记录。但是,它没有删除任何内容?

我试图删除记录,其中UserId==登录用户的Id,GroupId==Id是由名为GroupUser的多对多表中的链接提供的Id(字段:UserId和GroupId):

    public IActionResult UnSubscribe(Int16 id)
    {
        if(User.GetUserId() != null)
        {
            GroupUser groupToDel = _MyContext.GroupUser.Where(g => g.GroupId == id).FirstOrDefault();
            groupToDel.UserId+=User.GetUserId();
            _MyContext.Entry(groupToDel).State = EntityState.Deleted;
            _MyContext.SaveChanges(); 
            return RedirectToAction("Index", "Group");
        }
        else
        {
            throw new Exception("There was an Error!");
        }
    }

EF Entitystate从多对多中删除1条记录

你让这件事比我认为的更难,你应该试着这样做:

GroupUser groupToDel = _MyContext.GroupUser.Where(g => g.GroupId == groupid 
                                                  && g.UserId == userid).First();
_MyContext.GroupUser.Remove(groupToDel);
_MyContext.SaveChanges();