使用两个外键实体框架从表中删除行

时间:2014-01-10 06:45:00

标签: c# sql sql-server entity-framework

我有一个表,它只包含2个外键作为列。表中的这些键表示其他2个表之间的多对多关联。例如:表格为RoleGroup,只有2列为GroupIdRoleId,分别是GroupRole表的外键。从数据库生成的EF对象未创建RoleGroup对象,仅创建与其他表的导航属性。我可以在EF中的RoleGroup表中插入数据,如下所示:

Group grp = context.Groups.Where(g => g.Id == 8);
Role role = context.Roles.Where(r => r.Id == '001c');
grp.Roles.Add(role);
context.SaveChanges();

现在,如何删除EF中表RoleGroup中的行,例如从ID为Id = 5

的角色中移除一个组('001b'})

1 个答案:

答案 0 :(得分:1)

实体框架,就像大多数ORM的摘要链接表一样。假设您已正确设置所有内容,则可以通过删除链接来删除记录。

Role role = //Whatever Role;
group.Roles.Remove(role);