gpt4 book ai didi

c# - 删除 Entity Framework 中的多对多关系对象

转载 作者:行者123 更新时间:2023-11-30 20:34:36 24 4
gpt4 key购买 nike

我有一个 Web 服务器,我在其中通过 REST API 提供 User 对象。

最近我为用户添加了创建群组的选项。组有名称、颜色(表示为整数)、所有者(用户对象引用)和成员。

Members 属性是多对多关系。一个用户可以是多个组的成员,一个组可以有多个成员。

但是,我在删除群组时遇到问题。我想为所有者用户提供删除组的选项 - 因此,删除所有成员,并删除对组本身的引用。

但是,我在尝试删除它时收到以下错误:

The DELETE statement conflicted with the REFERENCE constraint \"FK_GroupUser_Group\". The conflict occurred in database \"database\", table \"dbo.GroupUser\", column 'Groups_Id'.\r\nThe statement has been terminated.

我使用以下代码来删除组:

using (var db = new DBContext())
{
group.Owner.OwnedGroups.Remove(group);
group.Owner = null;
db.Groups.Remove(group);
db.SaveChanges();
}

我在这里缺少什么吗?

最佳答案

该消息表明您与 REFERENCE 约束 FK_GroupUser_Group 发生冲突。该组似乎仍然有用户,尽管该组不再有所有者(因为您删除了它)。尝试清除用户关联:

group.Users.Clear()‌​

关于c# - 删除 Entity Framework 中的多对多关系对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38973180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com