EF删除桥表中的引用

时间:2013-08-06 16:58:08

标签: asp.net-mvc entity-framework

我有2个实体组和用户。 1'组'有一组用户,1'用户'有一组组。我想删除桥表中的记录

Group: GroupID, name
User: UserID, name
GroupUser (bridge table): GroupID, UserID

目前我有

var query = from u in context.User
                        from g in u.Group
                        where u.UserID==1 && g.GroupID==10

但是,如何使用匹配的UserID和GroupID删除桥表中的记录。 query.Clear()返回错误

编辑:在我的EF中,没有对象来表示桥接表。所以我不能用user context.UserGroup(...)我应该为桥表创建一个对象吗?或者还有其他方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

假设您的桥牌表名为UserGroup(s)

var group = context.UserGroup.SingleOrDefault(x => x.UserID == 1 && x.GroupID == 10);
if (group != null)
{
    context.DeleteObject(group);
    context.SaveChanges();
}
else
    //Do something in response

答案 1 :(得分:0)

您应该从桥牌表中选择:

var results = from bt in context.BridgeTable 
               where bt.UserID = 1 and bt.GroupID = 1
foreach(var result in results)
{
     context.DeleteObject(result);
}
context.SaveChanges();