【问题标题】:Can I exclude an update on a object in entity framework?我可以排除实体框架中对象的更新吗?
【发布时间】:2012-10-31 21:30:37
【问题描述】:

我的实体模型中有一个对象(它是数据库中的一个视图,通过链接服务器获取数据)。无论如何,当我调用 contex.savechanges() 时,它会更新对象模型中更改的所有内容。我不想更新那个特定的对象。有没有办法将该对象排除在更新之外?我还没有找到任何可行的属性或方法。

感谢您的任何建议。 布赖恩

【问题讨论】:

  • 您是否尝试使用AsNoTracking 获取对象?
  • this answer。你真的不想跟踪这个对象。
  • 我尝试使用它,但是快捷菜单中没有列出它的方法。不确定我是否有正确版本的实体框架。

标签: c# entity-framework


【解决方案1】:

将对象的状态设置为Unchanged

_context.Entry(myObject).State = EntityState.Unchanged;

MSDN 文档:

DbContext.Entry方法

EntityState属性

【讨论】:

  • 抱歉,这是一个 hack,可能会在以后的代码中引起问题。您实际上是在对框架撒谎,以使其认为不需要更新。
  • 我在方法快捷方式下找不到这个选项。
  • 你用的是什么版本的EF?
【解决方案2】:

我最终创建了一个类来使用。我没有更改实体对象中的内容,而是填充了要在方法中使用的对象。像冠军一样工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多