具有自跟踪实体的ASP.NET GridView

时间:2011-07-12 12:59:10

标签: asp.net entity-framework-4 webforms self-tracking-entities

我的STE工作得非常好,并且在webform上跟踪文本框,备忘录等各个控件的更改,除非与asp.net gridview一起使用。随着Gridview on Update,它总是说“已添加”作为STE的状态。

有没有人解决我的问题?

2 个答案:

答案 0 :(得分:0)

是的,因为传递给update方法的对象不是从DB查询,而是实例化的。您可以做的是将实体附加到上下文。这将解决此问题。

HTH。

答案 1 :(得分:0)

GridView或ObjectDataSource都不会在请求中保留实体。当您在GridView上触发数据修改事件时,将为您创建一个新的对象实例。它与用于填充网格的实体不同 - 这些实例丢失了。

顺便说一下。在Web应用程序中使用STE并在请求之间存储实体可能是我能想象到的最糟糕的用法。每个人都在努力减少他们在Web应用程序中的内存占用量以及客户端和服务器之间传输的数据量,而你正朝着相反的方向前进。