public virtual object GetMainProperty(object @object) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Field mf = GetEntity().GetMainField(); object v = GetProperty(@object, mf.GetName()); if (v != null && mf.GetDataType() is Net.Vpc.Upa.Types.ManyToOneType && !Net.Vpc.Upa.Impl.Util.UPAUtils.IsSimpleFieldType(v.GetType())) { Net.Vpc.Upa.Entity t = ((Net.Vpc.Upa.Types.ManyToOneType)mf.GetDataType()).GetRelationship().GetTargetEntity(); return(t.GetMainFieldValue(v)); } return(v); }