我有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(...)我应该为桥表创建一个对象吗?或者还有其他方法可以解决这个问题吗?
答案 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();