Thanks for your help.  I'll try it again.

On Aug 13, 9:25 am, Diego Mijelshon <[email protected]> wrote:
> That should work too (just tried)
> Be sure to 
> checkhttp://nhforge.org/doc/nh/en/index.html#querysql-aliasreferences
>
>     Diego
>
>
>
> On Fri, Aug 13, 2010 at 11:20, Corey Coogan <[email protected]> wrote:
> > I was executing query.UniqueResult<Policy>(), which pooped out saying
> > it couldn't cast object[] to Policy.
>
> > On Aug 13, 8:52 am, Diego Mijelshon <[email protected]> wrote:
> > > That is not correct.
> > > In any case, here's a simplified example I just tried.
>
> > > Classes:
>
> > >   class Foo
> > >     Bar Bar
> > >     other properties...
> > >   class Bar
> > >     int Id
> > >     other properties...
>
> > > var foosWithBar = session.CreateSQLQuery("select {Foo.*}, {Bar.*} from
> > > Foo join Bar on Foo.Bar = Bar.Id")
> > >                          .AddEntity("Foo", typeof(Foo))
> > >                          .AddJoin("Bar", "Foo.Bar")
> > >                          .List<Foo>();
>
> > > That returns a list of Foo, with fully loaded Bar.
>
> > > The alias parameter is required by AddJoin, that's a mistake in the docs.
>
> > >     Diego
>
> > > On Fri, Aug 13, 2010 at 09:26, Corey Coogan <[email protected]> wrote:
> > > > Thanks Diego, but if I add c.* to the select list I get an object[]
> > > > returned with both items.  The reference doc shows an AddJoin
> > > > signature that requires only the path, not the alias.
>
> > > > On Aug 12, 9:22 pm, Diego Mijelshon <[email protected]> wrote:
> > > > > .AddJoin("c", "p.Client") means that the selected c.* columns contain
> > al
> > > > the
> > > > > data for the Client. So, you need to add c.* to the select list.
>
> > > > >     Diego
>
> > > > > On Thu, Aug 12, 2010 at 17:11, Corey Coogan <[email protected]>
> > wrote:
> > > > > > I have the SqlQuery below.  I will to eager load the Register and
> > > > > > Client entities.  Unfortunately, I always get an
> > > > > > IndexOutOfRangeException - Column Name doesn't exist in the Result
> > > > > > Set.
>
> > > > > > The Policy, Register and Client entities each contain only a subset
> > of
> > > > > > the db tables.  The Policy entity is loading fine so I expected the
> > > > > > others would as well.  Do I need to specify the columns for the
> > joined
> > > > > > entities explicitly in the Select?
>
> > > > > > @"
> > > > > > select
> > > > > > p.*
> > > > > > from policy p
> > > > > > inner join client c
> > > > > > on c.client_number = p.client_number
> > > > > > inner join register r
> > > > > > on r.policy_number = p.policy_number
> > > > > > and r.policy_date_time = p.policy_date_time
> > > > > > where
> > > > > > r.check_out is null
> > > > > > and
> > > > > > (
> > > > > >    (
> > > > > >        c.social_security1 = :{1}
> > > > > >        and upper(c.lname1) = :{2}
> > > > > >        and c.birthdate1 = :{3}
> > > > > >    )
> > > > > >    or
> > > > > >    (
> > > > > >        c.social_security2 = :{4}
> > > > > >        and upper(c.lname2) = :{5}
> > > > > >        and c.birthdate2 = :{6}
> > > > > >    )
> > > > > > )
> > > > > > and r.policy_date_time =
> > > > > > (
> > > > > >    select max(r1.policy_date_time)
> > > > > >    from register r1, policy p1
> > > > > >    where r1.policy_date_time = p1.policy_date_time
> > > > > >    and r1.policy_number = p1.policy_number
> > > > > >    and r1.policy_number = p.policy_number
> > > > > >    and
> > > > > >    (
> > > > > >        (
> > > > > >            r1.status_1 in ('2','5','8') and
> > > > > >            nvl(p1.change_eff_date, p1.pol_eff_date) <= sysdate
> > > > > >            and p1.pol_exp_date >= sysdate
> > > > > >        )
> > > > > >        or
> > > > > >        (
> > > > > >            r1.status_1 = '2'
> > > > > >            and nvl(p1.change_eff_date, p1.pol_eff_date) >= sysdate
> > > > > >            AND r1.portfolio_set = 1
> > > > > >        )
> > > > > >        or
> > > > > >        (
> > > > > >            r1.status_1 in ('4','6','A')
> > > > > >            and p1.pol_term_date between add_months(sysdate,-13) and
> > > > > > sysdate
> > > > > >        )
> > > > > >    )
> > > > > > )
> > > > > > ".FormatString( SSN1, LNAME1, BDATE1,
> > > > > >                                SSN2, LNAME2, BDATE2
> > > > > >                                ); ;
>
> > > > > >            var query = Session.CreateSQLQuery(sql)
> > > > > >                .AddEntity("p",typeof(Policy))
> > > > > >                //TODO: why is this eager loading failing with:
> > ERROR:
> > > > > > Unable to find specified column in result set
> > > > > >                //.AddJoin("r","p.Register")
> > > > > >                //.AddJoin("c", "p.Client")
> > > > > >                ;
>
> > > > > > --
> > > > > > You received this message because you are subscribed to the Google
> > > > Groups
> > > > > > "nhusers" group.
> > > > > > To post to this group, send email to [email protected].
> > > > > > To unsubscribe from this group, send email to
> > > > > > [email protected]<nhusers%[email protected]
> > > > > >  >
> > <nhusers%[email protected]<nhusers%252bunsubscr...@googlegroup 
> > s.com>>
> > > > <nhusers%[email protected]<nhusers%252bunsubscr...@googlegroup
> > > >  s.com>
> > <nhusers%252bunsubscr...@googlegroup s.com>>
> > > > > > .
> > > > > > For more options, visit this group at
> > > > > >http://groups.google.com/group/nhusers?hl=en.
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "nhusers" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected]<nhusers%[email protected]
> > > >  >
> > <nhusers%[email protected]<nhusers%252bunsubscr...@googlegroup 
> > s.com>>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/nhusers?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "nhusers" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<nhusers%[email protected] 
> > >
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/nhusers?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to