public override object GetValue(object obj)
        {
            var navigationResult = NavigationalProperty.GetValue(obj, null) as IIIDObject;

            if (navigationResult != null && !String.IsNullOrEmpty(navigationResult.Iid))
            {
                return(navigationResult.Iid);
            }
            return(ForignKeyProperty.GetValue(obj, null) as String);
        }
 protected override void SetObjValue(object obj, object value)
 {
     ForignKeyProperty.SetValue(obj, value, null);
 }