0

我正在开发一个 Asp.net mvc web 应用程序和实体框架。我有下表: -

  • 用户表(用户 ID、姓名、年龄等)

  • 组表,(GroupID、名称、描述等)

  • 和用户组表。(用户 ID,组 ID)

但由于 UserGroup 表是存储 UserID 和 GroupID 的纯多对多关系,因此它没有使用实体框架进行映射。现在我知道 GroupID 和 USerID ,所以我如何填充它们之间的关系。我应该做一些诸如:-

 Group.Where(a=.a.GroupID).singleordefualt().User.ADD(//something here !!!)
4

1 回答 1

1
var group = db.Groups.Find(groupId);
if (group != null)
{
    group.Users.Add(user); // add user to existing users
    db.SaveChanges();
}

或者

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
于 2013-07-19T11:52:24.763 回答