我正在开发Asp.net mvc Web应用程序和实体框架。我有下表: -
用户表(用户ID,姓名,年龄等)
组表,(GroupID,名称,描述,etC)
和UserGroup表。 (UserID,GroupID)
但由于UserGroup表是一个纯粹的多对多关系,它存储了UserID& GroupID,因此未使用实体框架进行映射。现在我知道GroupID和USerID,所以我如何填充它们之间的关系。我应该做的事情如下: -
Group.Where(a=.a.GroupID).singleordefualt().User.ADD(//something here !!!)
答案 0 :(得分:1)
var group = db.Groups.Find(groupId);
if (group != null)
{
group.Users.Add(user); // add user to existing users
db.SaveChanges();
}
OR
user.Groups.Add(group); // add group to existing groups
db.SaveChanges();
如果您想要替换用户,那么只需分配新的集合:
group.Users = new List<User> { user };
db.SaveChanges();
如果您要从其组中删除用户,请将此用户添加到其他组:
var user = db.Users.Find(userId);
user.Groups.Clear();
var group = db.Groups.Find(groupId);
user.Groups.Add(group);
db.SaveChanges();
如果您想从群组中删除部分用户:
var group = db.Groups.Find(groupId); // get your group
var userToRemove = group.Users.Last(); // select user, e.g. last one
group.Users.Remove(userToRemove); // remove user from group users
db.SaveChanges(); // save changes