【发布时间】:2022-08-18 06:57:37
【问题描述】:
我已经在使用身份库创建的用户之间建立了多对多的关系连接。
public class AppUser:IdentityUser
{
public AppUser()
{
MainUser = new List<AppUser>();
UserConnection = new List<AppUser>();
}
public ICollection<AppUser> MainUser { get; set; }
public ICollection<AppUser> UserConnection { get; set; }
}
我在基类中指定了主要用户,如下所示。
protected AppUser CurrentUser => userManager.FindByNameAsync(User.Identity.Name).Result;
当我想在用户之间添加链接时,我没有问题。
[HttpPost]
public IActionResult AddConnection(UserViewModel model)
{
AppUser searchedUser = userManager.FindByNameAsync(model.UserName).Result;
CurrentUser.UserConnection.Add(searchedUser);
Context.SaveChanges();
return Redirect($\"FindConnection/{model.Search}\");
}
但是我用同样的方法不能删除用户之间的连接,这是为什么呢?
[HttpPost]
public IActionResult RemoveConnection(UserViewModel model)
{
AppUser user = Context.Users.FirstOrDefault(x => x.UserName == model.UserName);
CurrentUser.UserConnection.Remove(user);
Context.SaveChanges();
return Redirect($\"FindConnection/{model.Search}\");
}
-
做
Context.Users.Include(u => u.UserConnection)。也就是说,gif 更让人分心而不是帮助。 -
首先,感谢您的帮助,我的主要问题是为什么我们要删除它时需要
UserConnection,而在添加时生成要添加的用户对象就足够了?至于 gif,我分享它是为了表明我可以添加用户但不能删除它们。
标签: asp.net-mvc entity-framework-6 asp.net-identity