1

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

4

1 回答 1

1

你的实体有关系吗?在这种情况下,您不需要使用StartTrackingAll,因为StartTracking它本身开始跟踪整个对象图

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 个实体听起来很奇怪。此外,如果实体没有关系,则可能根本不需要跟踪它们。

于 2011-04-12T18:02:21.493 回答