DevForce provides a mechanism to intercept and either modify or extend the behavior of any property on a DevForce entity. This property interception is intended to replace, and expand upon, the technique of marking properties as virtual and overriding them in a subclass. This facility is a lightweight form of what is termed Aspect-Oriented Programming.
Interception can be accomplished either statically, via attributes on developer-defined interception methods, or dynamically, via runtime calls to the PropertyInterceptorManager. Attribute interception is substantially easier to write and should be the default choice in most cases.
These topics apply both to entities generated from an EDM and entities coded by hand in "Code First" style.