ADO.Net团队看到了这个Post,看起来很有希望,直到我开始在我的应用程序中使用它。我有EF 4.0模型,有近100个自我跟踪实体。在我的项目中包含迭代器之后,任何扩展方法“StartTrackingAll”或“StopTrackingAll”都需要5秒才能完成。有没有人遇到同样的问题,或者有人知道任何更好的选择。
答案 0 :(得分:1)
您的实体是否相关?在这种情况下,您无需使用StartTrackingAll
,因为StartTracking
本身starts tracking for whole object graph:
StartTracking方法指示 更改实体上的跟踪器以启动 记录应用于的任何更改 实体。这包括对...的更改 标量属性,集合和 对其他实体的引用。该 自我跟踪实体开始跟踪 它们是自动的 通过反序列化到客户端 Windows Communication Foundation (WCF)。跟踪也已打开 对于新创建的实体 以下场景:
* A relationship is created between the new entity and an entity that is already tracking changes. * The MarkAs[State] or AcceptChanges method is called on an entity.
如果您没有使用相关实体,那么您需要同时跟踪100个实体,这听起来很奇怪。此外,如果实体没有关系,则可能根本不需要跟踪它们。