Entity framework 4 对于新添加的行,EF4对象状态保持不变,即使更改属性也是如此

Entity framework 4 对于新添加的行,EF4对象状态保持不变,即使更改属性也是如此,entity-framework-4,Entity Framework 4,我在更新同一上下文中的记录时遇到问题 Ex场景如下所示 我从中有一个数据条目,并从中添加一条记录。插入是在事务范围内发生的 我添加来自同一表单的记录,并尝试更改值。它不起作用。当我看到对象状态时,它是不变的,即使属性值改变了 重新启动应用程序并更改值后,更新将正常工作。在此之后,所有的更改都会正确地影响 这种情况仅发生在使用上下文插入的记录中 调用SaveChages时不带任何参数 有人知道这个问题吗 DineshNS你能试试这个吗: ObjectContext.ApplyCurrentValu

我在更新同一上下文中的记录时遇到问题

Ex场景如下所示

我从中有一个数据条目,并从中添加一条记录。插入是在事务范围内发生的

我添加来自同一表单的记录,并尝试更改值。它不起作用。当我看到对象状态时,它是不变的,即使属性值改变了

重新启动应用程序并更改值后,更新将正常工作。在此之后,所有的更改都会正确地影响

这种情况仅发生在使用上下文插入的记录中

调用SaveChages时不带任何参数

有人知道这个问题吗

DineshNS

你能试试这个吗:

ObjectContext.ApplyCurrentValues("EntitySetName", currentEntity);

例如:ObjectContext.ApplyCurrentValuesOrders,Order

这是一个web应用程序还是win应用程序?发布一些代码,你添加了你的第一和第二个实体。谢谢你的回复。如果我们明确地这样做,它就会起作用。我的问题是我们是否需要明确设置它?仅更改属性值还不够吗?您的建议有效。是否每次更新记录时都需要这样做?。如下面链接中所述,每次在ObjectContext外部更新实体时都需要这样做:。外部对象上下文可能意味着,您将实体传递到其他层/应用程序,并使用更新的值将其取回,您需要将其与对象上下文中的实体相关联。ApplyCurrenytValues通过将具有属性更新的分离对象与实体键关联以应用于原始对象来实现这一点。