“一个实体对象不能被 IEntityChangeTracker 的多个实例引用。”

2023-12-02

我使用 MYSql 服务器作为 Windows 窗体应用程序背后的数据库。我的数据库中有两个模式,我必须将条目放入其中。我创建了两个上下文对象,每个对象对应一个模式。当我使用 schema1 上的 contextA 时,所有条目都完美完成,但是当我使用 contextB 时,我收到此异常。 和MySql驱动有关系吗?


此错误表明您正在尝试将一个实体附加到您的上下文,但它已经附加到另一个实体。

我怀疑这可能不是直接引用,但上下文中的导航属性之一可能包含附加到其他上下文的实体。在我看来(根据您的描述)单独的上下文只有在它们是断开的对象结构时才应该真正使用,例如它们在上下文之间没有 FK。

另一件要避免的事情是确保对于每个工作单元,您只使用每个上下文的一个实例。如果您尝试使用另一个上下文实例中的实体,也会发生此错误。

EDIT:

如果您想在当前上下文之外维护范围,那么通常使用 ID 是一个更好的主意。您可以将实体重新附加到 EF,以便可以按照您描述的方式添加它们,但必须确保原始上下文已释放或实体已分离,然后使用如下所示手动将其附加到新上下文:

    public DbEntityEntry<T> EnsureAttachedEF(T entity)
    {
        var e = m_Context.Entry(entity);
        if (e.State == EntityState.Detached)
        {
            m_Context.Set<T>().Attach(entity);
            e = m_Context.Entry(entity);
        }

        return e;
    }

然而,这是一项相当大的工作,因此使用 ID 通常是一个更好的主意。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“一个实体对象不能被 IEntityChangeTracker 的多个实例引用。” 的相关文章

随机推荐

  • Android:调用 getFilter() 时更改 ListView 中的 CheckBox 检查值

    我最近posted我的问题MultiSpinner值以从微调器对话框中选择多个值 我已经成功完成了接下来的课程 MultiSpinnerSearch java package com example multiplechoicelistwi
  • “文件”对象没有属性“rfind”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我正在尝试将 word2vec 保存到文件中 model Word2Vec sentences size vector size window 5 min count 5 w
  • 在 ASP.NET 中使用通用处理程序对 jQuery AJAX 调用进行故障排除

    使用 ASP NET 对 jQuery AJAX 调用进行故障排除的最佳方法是什么 错误函数被调用 我收到弹出窗口的警报 显示 错误 但我不知道为什么 当我附加到我的进程 w3wp exe 并将断点放置到我的通用处理程序 ProcessRe
  • 试图弄清楚如何在 c 中输出电话号码?

    我正在尝试输入电话号码并以 888 999 1111 格式打印出来 但是当我尝试打印出来时 我得到了一些奇怪的输出 这不是我期望得到的输出 我在输入和打印功能中打印出电话的值 但它们是不同的 输入函数中的正确 但打印函数中的错误 先谢谢您的
  • MongoDB 集合中的唯一文档

    我需要在文档中存储三个 id 但它们只能出现一次 例如 以下文档在此集合中只能出现一次 user ObjectId j8uwh902w5489 comment ObjectId 09890583457jkjsf4 whatever Obje
  • 使用 Sceneform Android 在 3D 模型上绘制可渲染形状

    我在用场景窗体 Android SDK在Android APP中渲染3D模型 为了显示 3D 模型 我使用下面的代码 它也支持 3D 模型中的旋转和缩放功能 private fun renderLocalObject position In
  • Mac OS X Cocoa,在全局屏幕坐标空间中翻转 Y 坐标

    如何将 NSPoint 的 y 值翻转到翻转的坐标空间 我有两个点源 都在全局屏幕空间中 但其中一个是翻转的 一个来自屏幕坐标空间 0 0 左上角 一个来自屏幕坐标空间 0 0 左下角 我需要翻转第二个 左下角 使其与第一个 左上角 处于同
  • 无法确定关联的主要目的

    首先使用 EF5 代码 我有两个类 Table UserProfile public class UserProfile Key DatabaseGenerated DatabaseGeneratedOption Identity publ
  • JOIN 查询的 Php pdo 结果

    我的问题是 我尝试在两个表之间进行简单的 JOIN 这两个表都有 id 字段 我的结果是一个 stdClass 对象 因为我使用 PDO 有谁知道如何区分第一个表的 id 和第二个表的 id Code sql SELECT FROM pro
  • Swift 中的 CLGeocoder - 使用verseGeocodeLocation 时无法返回字符串

    我正在尝试使用 CLGeocoder 返回字符串中坐标的位置 我的代码目前如下所示 func getPlaceName latitude Double longitude Double gt String let coordinates C
  • Firebase 身份验证电子邮件自定义

    我在我的应用程序中使用 firebase auth 并且正在设置无密码电子邮件注册 我已设法从自己的域设置电子邮件 但如何更改电子邮件中发送的魔术链接文本 我可以看到其他模板电子邮件的配置 但看不到这封电子邮件的配置 有问题的电子邮件是这样
  • 获取所有行都为 true 的 id (sqlalchemy)

    我试图找到一种简单的方法来查找特定的表单或表单 其中所有项目都带有form id是活跃的 这是我的Messages table class Messages db Model tablename Messages id db Column
  • 在 Swift 中,如何避免可选值和 nil 对象引用?

    选项的全部原因是为了防止由于命中分配给 nil null none 的变量而导致运行时崩溃 因此 变量不能为nil 相反 它们可以包装在将它们表示为 Some 或 None 的可选类型中 并展开以获取 Some 或 nil 的特定内容 但如
  • VBA隐藏用户表单但保留输入的数据

    我带着我希望是一个相当简单的问题再次回来 我正在尝试在 VBA 中创建用户表单 用户将在表单中输入某些信息 然后关闭表单 我希望用户表单在用户关闭后保留输入的数据 我将它视为一个类模块 因为从技术上讲它们是 或者至少我是这么理解的 这是我正
  • AWS EC2 Angular 5 ng服务不通过浏览器连接

    我设法让我的 Angular 5 应用程序在 AWS EC2 Ubuntu 上运行 启动标准Ubuntu实例 使用PuTTy加壳 安装节点 进入接下来的4条 魔线 mkdir npm global npm config set prefix
  • 具有可变结尾整数的 For 循环

    我有一个包含 40 000 行数据的数据集 我的代码设置为检查第 n 1 行中的日期是否比第 n 行中的日期晚 1 天 如果第 n 行和第 n 1 行中的日期不按正常时间顺序排列 则会添加包含该日期的空白数据的行 我的问题是 因为我在添加行
  • Selenium / java:如何获取总页长度

    使用 Selenium Java 绑定 我正在尝试编写一个简短的模块 它将截取浏览器页面的完整屏幕截图 我知道AShot存在 但没有维护 并且对我来说有一些问题 作为其中的一部分 我想知道我正在处理的整页长度是多少 这样我就可以计算出需要拍
  • 如何在 r markdown 中指定自定义纸张尺寸

    我正在使用 R Markdown 制作一本具有特定高度和长度测量值的小册子 有没有办法指定 R Markdown 以 5 5 x8 5 尺寸生成文章 我看到有关制作 A4 尺寸 pdf 的问题here但这并没有帮助 因为我的措施非常具体 使
  • Java JScrollPane - 多个组件

    我正在尝试在 JScrollPane 中添加 2 个图像 第一个图像是背景 第二个图像与第一个图像重叠 当我运行程序时 问题仅显示第二张图像 请帮忙 ImageIcon ii new ImageIcon mini map png JLabe
  • “一个实体对象不能被 IEntityChangeTracker 的多个实例引用。”

    我使用 MYSql 服务器作为 Windows 窗体应用程序背后的数据库 我的数据库中有两个模式 我必须将条目放入其中 我创建了两个上下文对象 每个对象对应一个模式 当我使用 schema1 上的 contextA 时 所有条目都完美完成