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.
