Found my solution, this check my container class and check the state of the object to see if a database operation is needed.
Dim properties As PropertyDescriptorCollection = TypeDescriptor.GetProperties(MC.GetType)
For Each prop As PropertyDescriptor In properties
If GetType(IList).IsAssignableFrom(prop.PropertyType) AndAlso prop.PropertyType.IsGenericType Then
Dim item As IList = DirectCast(prop.GetValue(MC), IList)
For Each ClassObject As Object In item
If ClassObject.state <> ClassState.No_Change Then
_IsDirty = True
Exit For
End If
Next
If _IsDirty = True Then Exit For
End If
Next
I would be interested to see if there is any floor with my own solution