1

我看到了ADO.Net团队的这个Post,看起来非常有希望,直到我开始在我的应用程序中使用它。我有EF 4.0模型,有近100个自我跟踪实体。在我的项目中包含迭代器之后,任何扩展方法“StartTrackingAll”或“StopTrackingAll”都需要5秒才能完成。有没有人遇到同样的问题或任何人都知道有更好的选择。使用一组导致性能问题的自追踪实体

回答

1

您的实体有关系吗?在这种情况下,你不需要使用StartTrackingAll因为StartTracking本身starts tracking for whole object graph

的StartTracking方法指示对实体 变化跟踪器开始 记录应用于 实体的任何变化。这包括对 标量属性,集合和 对其他实体的引用的更改。 自我跟踪实体开始跟踪 当他们通过 (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元。另外,如果实体不存在关系,则可能根本不需要跟踪它们。

相关问题