When you work with collections you should pay a special attention to your update depth setting, as the performance impact of this setting increases with the number of objects in the collection.
For example let’s consider a class like this:
c#:
class ListObject {
List
<DataObject> data;
}
VB:
Class ListObject
data As List(Od DataObject)
End Class
Let’s assume that ListObject has a data list of 1000 DataObjects.
Update depth = 1
data field object (List) will be updated if ListObject is saved.
Update depth = 2
data object (List) and all 1000 DataObjects in the list will be updated if ListObject is saved.
It is easy to see that after a certain update depth value all the list objects are getting updated, which produces a serious performance penalty. The following examples show how to avoid the performance drop and still get the expected results.