我可以先更新EF实体而不先查询吗?

时间:2009-04-27 22:25:46

标签: entity-framework

这是我的情景:

  • 我有一条通过WCF传递的简单消息。此消息表示现有数据库记录,并具有进行计算所需的所有数据字段。
  • 完成计算后,我想更新此datarecord上的一个字段。

目前,尝试简单地设置实体框架的实体版本的所有字段,然后持久化对象上下文的状态似乎什么都不做。

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

是的,你可以。该过程是创建一个类似于实体原始状态的实体,将其附加到ObjectContext,修改实体,然后保存SaveChanges。请记住,在修改实体之前,将实体附加到ObjectContext 非常重要。 this post中有一个例子。

答案 1 :(得分:1)

如果您还拥有实体密钥,则应该能够执行以下操作:

myDataContext.Refresh(RefreshMode.ClientWins, Object myEntity);

(不是100%确定语法正是如此,但我知道该方法被称为.Refresh())...