private void FixupNavigationProperty(object result, NavigationPropertyMetadata navProp) { var targetEntityInfo = GetEntityInfo(navProp.TargetEntity); var key = navProp.GetForeignKeyObject(result); if (key != null) { var target = GetTrackedObjectOrDefault(targetEntityInfo, key); if (target != null && _trackingInfoProvider.GetState(target) != TrackingState.Deleted) { FillNavigationPropertyAndPrincipal(navProp, result, target); } } }