Entity framework 我可以更新EF实体而不首先查询它吗?

Entity framework 我可以更新EF实体而不首先查询它吗?,entity-framework,Entity Framework,以下是我的设想: 我有一个通过WCF传递的简单消息。此消息表示现有数据库记录,并包含执行计算所需的所有数据字段 完成计算后,我想更新此数据记录上的一个字段 目前,试图简单地设置实体框架的实体版本的所有字段,然后持久化对象上下文的状态似乎没有任何作用 有什么想法吗?如果您也有实体键,您应该能够执行以下操作: myDataContext.Refresh(RefreshMode.ClientWins, Object myEntity); (不是100%确定语法是否正确,但我知道该方法名为.Ref

以下是我的设想:

  • 我有一个通过WCF传递的简单消息。此消息表示现有数据库记录,并包含执行计算所需的所有数据字段
  • 完成计算后,我想更新此数据记录上的一个字段
目前,试图简单地设置实体框架的实体版本的所有字段,然后持久化对象上下文的状态似乎没有任何作用


有什么想法吗?

如果您也有实体键,您应该能够执行以下操作:

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

(不是100%确定语法是否正确,但我知道该方法名为
.Refresh()
)…

是的,您可以。该过程是创建一个与实体原始状态相似的实体,将其附加到ObjectContext,修改实体,然后保存更改。请记住,在修改实体之前,将实体附加到ObjectContext非常重要。这方面有一个例子