/// <summary> /// For an entity class, add to a list of associations to be fetched /// by outerjoin /// </summary> protected virtual void WalkEntityTree(IOuterJoinLoadable persister, string alias, string path, int currentDepth) { int n = persister.CountSubclassProperties(); for (int i = 0; i < n; i++) { IType type = persister.GetSubclassPropertyType(i); ILhsAssociationTypeSqlInfo associationTypeSQLInfo = JoinHelper.GetLhsSqlInfo(alias, i, persister, Factory); if (type.IsAssociationType) { WalkEntityAssociationTree((IAssociationType)type, persister, i, alias, path, persister.IsSubclassPropertyNullable(i), currentDepth, associationTypeSQLInfo); } else if (type.IsComponentType) { WalkComponentTree((IAbstractComponentType)type, 0, alias, SubPath(path, persister.GetSubclassPropertyName(i)), currentDepth, associationTypeSQLInfo); } } }
/// <summary> /// For an entity class, add to a list of associations to be fetched /// by outerjoin /// </summary> protected virtual void WalkEntityTree(IOuterJoinLoadable persister, string alias, string path, int currentDepth) { int n = persister.CountSubclassProperties(); for (int i = 0; i < n; i++) { IType type = persister.GetSubclassPropertyType(i); ILhsAssociationTypeSqlInfo associationTypeSQLInfo = JoinHelper.GetLhsSqlInfo(alias, i, persister, Factory); if (type.IsAssociationType) { WalkEntityAssociationTree((IAssociationType) type, persister, i, alias, path, persister.IsSubclassPropertyNullable(i), currentDepth, associationTypeSQLInfo); } else if (type.IsComponentType) { WalkComponentTree((IAbstractComponentType) type, 0, alias, SubPath(path, persister.GetSubclassPropertyName(i)), currentDepth, associationTypeSQLInfo); } } }
/// <summary> /// For an entity class, add to a list of associations to be fetched /// by outerjoin /// </summary> private void WalkEntityTree(IOuterJoinLoadable persister, string alias, string path, int currentDepth) { int n = persister.CountSubclassProperties(); for (int i = 0; i < n; i++) { IType type = persister.GetSubclassPropertyType(i); if (type.IsAssociationType) { WalkEntityAssociationTree((IAssociationType)type, persister, i, alias, path, persister.IsSubclassPropertyNullable(i), currentDepth); } else if (type.IsComponentType) { WalkComponentTree((IAbstractComponentType)type, i, 0, persister, alias, SubPath(path, persister.GetSubclassPropertyName(i)), currentDepth); } } }