gpt4 book ai didi

c# - "A cycle was detected in the set of changes"尝试向数据库添加循环链表时

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:15 24 4
gpt4 key购买 nike

我正在使用“在数据库中”的循环链表 (cll)。我使用 Linq to Sql 插入形成这些 cll 的数据库条目。

它们具有一般形式:

id uuid | nextId uuid | current bit

如果我尝试使用几个对象形成一个完整的 cll 来执行 SubmitChanges,我会收到错误消息“在更改集中检测到一个循环”。

我可以通过在单独的 SubmitChanges 中使链表“循环”来规避这一点,但这有两个缺点:我正在失去在一个事务中执行此操作的能力。在短时间内,我的数据库中的数据不正确。

有没有办法解决这个问题?

最佳答案

数据库需要强制执行其约束,我想您在 nextIdId 之间有一个外键约束。如果这个关系链回到起点(如您所见),数据库将不允许。

我怀疑你的选择是:

  1. 删除外键约束。
  2. 以链表形式存储在数据库中,并且在您的代码中只连接头部和尾部。

即使您的第二个选项也不起作用,因为数据库不允许您添加最后一个引用。

关于c# - "A cycle was detected in the set of changes"尝试向数据库添加循环链表时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538036/

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