public bool MustBeMapped()
{
if (PropertyWrapper == null) return false;
if(this.PropertyWrapper.IsInherited) return false;
if (this.PropertyWrapper.IsStatic) return false;
if (!this.PropertyWrapper.IsPublic) return false;
if (!PropertyWrapper.IsSingleRelationship) return false;
if (PropertyWrapper.HasIgnoreAttribute) return false;
if (this.PropertyWrapper.PropertyInfo == null) return false;
if (this.PropertyWrapper.DeclaringType.IsNull()) return false;
return (this.PropertyWrapper.HasSingleReverseRelationship
&& !this.PropertyWrapper.HasMultipleReverseRelationship)
|| this.PropertyWrapper.HasOneToOneAttribute;
}
/// <summary>