Question: Is there a way to know when an entity is being initialized? It would be great if the Entity Framework supported the ISupportInitialize interface, but it doesn't appear to. 

Basically what I'm trying to do is update a LastModified property when a certain other property is updated. However the OnXxxChanged function is called whenever the property is set, including when the object is being initialized.

Answer: 
Actually they are not get called as a result of your "Object Initialization" but because of ***Object Materialization***. You have to be aware that:
***PropertyChanged and PropertyChanging Events and Methods Fire During Object Materialization***.
The reason is because these 2 methods are called in the body of the setter for that property and EF calls the properties setters each time it Materialize an object.

Unfortunately, there is no built-in way to discern whether you are in the process of materializing objects or you really change the value after the Materialization.

One workaround would be to set up a boolean field in the class that is set to true by default, and then checking its value in the PropertyChanged/PropertyChanging events, and set it to false in the materialization phase. Something like this will do the trick: 

```
partial class Product {

    bool _isMaterialized = true;

    partial void OnProductNameChanged() {
        if (_isMaterialized) {
            _isMaterialized = false;
            return;
        }
        this.ModifiedDate = DateTime.Now;
    }
}

```

You can find another workaround from this link:
[*Property-Changed during ObjectMaterialization*](http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/b3e61e88-55e1-4edc-a6fd-e5f846c72afb) Where *Matthieu Mezil* proposed a solution that reads the stack trace.
You can use the ObjectMaterialized event of the ObjectContext