var entry = context.ObjectStateManager.GetObjectStateEntry(poco);


For the Entity Framework to create the change-tracking proxies for your POCO classes, the following conditions must be met,


1. The class must be public, non-abstract, and non-sealed.

2. The class must implement virtual getters and setters for all properties that are
persisted.

3. You must declare collection-based relationships navigation properties as
ICollection<T>. They cannot be a concrete implementation or another interface
that derives from ICollection<T>.