While I iterating through ObjectStateEntries
I expected [t]
variable name will be MY_ENTITY
foreach (ObjectStateEntry
You can use
Type t = entry.Entity.GetType().BaseType;
or
ObjectContext.GetObjectType(entity.GetType())
But the second
way is a better way from my point of view. If you call Type() request inside a Mapper method, for example DTO mapper (from entity object to DTO class or from in-memory objects to DTO class), ObjectContext.GetObjectType(..)
will grant you always the expected result contrary to what will .GetType().BaseType
For example, if you use a TPT (Table per Type) strategy for EF Entity Model, call BaseType() on in-memory object will return the base class in hierarchy contrary to what will ObjectContext.GetObjectType(..)