如何在 Entity Framework Core 中克隆实体?

2024-01-04

我尝试使用 SetValues 方法克隆实体,但出现以下错误:

无法跟踪实体类型“TariffPeriod”的实例,因为已跟踪具有相同键值 {'Id'} 的另一个实例。附加现有实体时,请确保仅附加一个具有给定键值的实体实例。

这是代码:

var period2 = _tariffRepository.GetPeriodFull(period.GUID);
var period3 = new TariffPeriod();
_appDbContext.TariffPeriods.Add(period3);
_appDbContext.Entry(period3).CurrentValues.SetValues(period2);

我发现该错误是由于主键的值被复制到新实体中造成的。那么,如何在没有密钥的情况下复制值呢?

感谢您的帮助 埃里克


您可以尝试获取 period2 数据的克隆并在分配给 period3 之前修改 Id

var values = db.Entry(period2).CurrentValues.Clone();
values["Id"] = 0;
db.Entry(period3).CurrentValues.SetValues(values);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Entity Framework Core 中克隆实体? 的相关文章

随机推荐

  • 从不完整的 HTTP JSON 响应中完成 json 字符串

    有时我会从json api下载数据 它会中途中断 通常是由于网络超时或其他一些问题 但是 在这种情况下 我希望能够读取可用的数据 这是一个例子 response 200 message None params body timestamp
  • 将方法和函数存储在数组中[重复]

    这个问题在这里已经有答案了 我不知道它是否可行 但我可以将方法或函数存储在数组中吗 我现在知道多维数组并用它来存储我想要的许多数组 我现在想做的是将我创建的方法或函数存储在某个类中 因为我想将所有函数存储到某个类 然后如果我想使用循环则调用
  • 从 Web 服务器的 HTML 资源中播放 FLAC

    我正在运行一个 apache2 网站 您可以在其中上传无损文件 包括 wav 和 flac wav 文件可以立即使用 但不支持 flac 所以我想知道是否有什么方法可以在 JavaScript 的帮助下播放这些 flac 文件 发生的情况如
  • Vaadin 和 Spring MVC 集成

    我正在考虑将 Spring MVC 与 Vaadin 框架一起使用的可能性 是否有任何记录在案的方法可以使它们很好地协同工作 另外 将它们一起使用是个好主意吗 与表现有关 我将在专用服务器上运行该应用程序 为了让我的问题更清楚一些 我如何从
  • SQL Server 中“描述表”的等效项是什么?

    我有一个 SQL Server 数据库 我想知道它有哪些列和类型 我更喜欢通过查询来完成此操作 而不是使用像企业管理器这样的 GUI 有没有办法做到这一点 您可以使用sp columns http msdn microsoft com en
  • 引用 google-play-services 库

    我正在使用 Google Maps Android API v2 开发一个项目 当我开始引用 google play services lib 时遇到问题 我的项目图标上出现一个红色感叹号 并且 问题 选项卡中出现一条错误消息 我使用的是
  • EF Code First 不生成表

    我正在开发 EF Code First 站点 并且编写了我的类和上下文类 其来源是 using System using System Collections Generic using System Linq using System T
  • 使子元素(带填充)为父元素的 100% 宽度和高度

    是否可以使子元素 带填充 具有其父元素的 100 宽度和高度 html div div div css child padding 15px 我尝试将子项设置为 100 宽度 高度 但这会使子项由于填充而大于父项 我还尝试使子位置绝对并将顶
  • 修复通过 REST API 上传文件时 Artifactory 中的校验和

    我使用下面的代码通过 Artifactory 的 REST API 上传文件 我的问题是 当我通过 GUI 查看文件时 我收到以下消息 客户端未发布校验和值 如果您信任上传的内容 您可以通过单击 修复 来接受实际的校验和 校验和按钮 如何修
  • 如何使用响应大小的图像来防止卡顿并减少布局偏移?

    我的网站托管了大量各种尺寸的图像 这些图像具有响应能力 并且可以在从桌面到移动设备的所有浏览器宽度上更改大小 我在 Google Search Console 中看到我的 CLS 累积布局偏移 很差 为 0 25 秒 我的网站布局随着图像加
  • 如何用C实现动态调度表

    首先 我了解如何使用函数指针和字符串或其他查找来实现调度表 这不是挑战 我正在寻找的是一种动态向该表添加条目的方法在编译时 我希望的代码结构类型是这样的 Strategy h 包含调度程序的函数定义和调度表定义 Strategy c 包含调
  • 如何在iPhone OS上通过编程发送usd请求

    如何在iPhone OS上通过编程发送usd请求 例如 100 CTCallDialWithID 100 1 并与 CoreTelephony 链接
  • Pycharm 中的多个右边距

    我正在学习 Pycharm Community Edition 3 4 我想知道除了其余代码的常规边距之外 是否可以仅为注释和文档字符串设置正确的边距 我问这个问题是因为我试图遵守 PEP8 指南 即每个注释 72 个字符 常规代码 79
  • 是否有用于创建特定大小的测试文件的Python模块?

    我有一台已上传文件的服务器 我需要分析到该服务器的各种文件大小的上传 响应时间 即上传 10kb 文件 100mb 文件和许多其他大小的文件需要多长时间 我想避免手动创建所有文件并存储它们 是否有一个 Python 模块可以让您创建任意大小
  • 如何从 java 检查 PATH 和 CLASSPATH 环境变量?

    我正在制作一个java程序来使用JMF读取audio wav文件 每次我的计算机重新启动时 我都必须从cmd设置路径 set CLASSPATH WINDIR java classes jmf jar WINDIR java classes
  • 当我关闭 Zope 服务器时,它显示 AttributeError

    我正在使用 Plone 4 3 3 创建我的 Plone 站点 但是当我关闭服务器时 它显示以下错误 Traceback most recent call last File Plone zinstance parts instance b
  • 如何从 Gradle 中的 JAR 中排除资源并通过 IntelliJ 运行

    我最近开始工作 7 年多旧项目 which 使用 Ant Ivy用于依赖关系和构建管理 我的任务是将其转换为 Gradle但结构有点不传统 projectRoot folderA folderB projectX conf file1 tx
  • 如何将数据集对象存储到数据类型对象的包变量中?

    如何将数据集对象存储到数据类型的包变量中Object并将其从脚本任务中分配回另一个数据集对象 这是我之前的答案中的代码示例 它展示了如何在脚本任务中从对象变量填充 OleDB 数据适配器 您可以使用数据流任务中的记录集目标将记录集存储到对象
  • 如何合并两个有序的对象列表?

    public class ListMerge public static void main String args Scanner input new Scanner System in System out println Input
  • 如何在 Entity Framework Core 中克隆实体?

    我尝试使用 SetValues 方法克隆实体 但出现以下错误 无法跟踪实体类型 TariffPeriod 的实例 因为已跟踪具有相同键值 Id 的另一个实例 附加现有实体时 请确保仅附加一个具有给定键值的实体实例 这是代码 var peri