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>>
> > > > .
> > > > 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