【问题标题】:How to copy property values to Entity Framework Core object without loosing attached context如何在不丢失附加上下文的情况下将属性值复制到 Entity Framework Core 对象
【发布时间】:2022-01-18 16:53:12
【问题描述】:

我们想要一个方法,将给定输入对象的所有属性复制到现有的实体框架核心对象,该对象是从数据库加载的,因此处于附加状态。

我们已经尝试AutomapperAnyClone 将所有属性从输入复制到数据库对象。副本本身可以正常工作,但是当我们存储/保存数据库对象时,Entity Framework 会创建一个新条目,而不是更新现有条目。

为了不丢失DbContext的附件,是否有某种我们不应该复制的隐藏属性?

【问题讨论】:

  • 你能在代码中添加你看到的问题吗?这将有助于更好地诊断问题。看起来具有 id/key 角色的属性正在被覆盖。

标签: c# entity-framework-core


【解决方案1】:

Entity Framework Core 包含以下功能:

db.Entry(current).CurrentValues.SetValues(ord);

取自Update Entity Framework object from another object of same type

【讨论】:

  • 耶稣!我怎么能错过这个......像老板一样工作
【解决方案2】:

我认为使用 NoTracking 可能会对您有所帮助。这是关于什么是 NoTracking 的一些解释的链接。 https://www.c-sharpcorner.com/article/no-tracking-with-entity-framework-core/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 2022-06-22
    • 2014-06-18
    • 2022-01-26
    • 1970-01-01
    • 2011-09-26
    相关资源
    最近更新 更多