コード例 #1
0
 protected override void AddAssociations()
 {
     base.AddAssociations();
     foreach (var entityJoinInfo in translator.GetEntityJoins().Values)
     {
         var tableAlias   = translator.GetSQLAlias(entityJoinInfo.Criteria);
         var criteriaPath = entityJoinInfo.Criteria.Alias;                 //path for entity join is equal to alias
         var persister    = entityJoinInfo.Persister as IOuterJoinLoadable;
         AddExplicitEntityJoinAssociation(persister, tableAlias, translator.GetJoinType(criteriaPath), GetWithClause(criteriaPath));
         IncludeInResultIfNeeded(persister, entityJoinInfo.Criteria, tableAlias);
         //collect mapped associations for entity join
         WalkEntityTree(persister, tableAlias, criteriaPath, 1);
     }
 }