Example #1
0
 internal override bool IsMemberPendingGeneration(MetaDataMember keyMember)
 {
     if (IsNew && keyMember.IsDbGenerated)
     {
         return(true);
     }
     foreach (var association in type.Associations)
     {
         if (association.IsForeignKey)
         {
             var num = association.ThisKey.IndexOf(keyMember);
             if (num > -1)
             {
                 object obj = null;
                 obj = ((!association.ThisMember.IsDeferred) ? association.ThisMember.StorageAccessor.GetBoxedValue(current) : association.ThisMember.DeferredValueAccessor.GetBoxedValue(current));
                 if (obj != null && !association.IsMany)
                 {
                     var standardTrackedObject = (StandardTrackedObject)tracker.GetTrackedObject(obj);
                     if (standardTrackedObject != null)
                     {
                         var keyMember2 = association.OtherKey[num];
                         return(standardTrackedObject.IsMemberPendingGeneration(keyMember2));
                     }
                 }
             }
         }
     }
     return(false);
 }