José,
Note: he is using the Linq provider of contrib

On Mon, Sep 20, 2010 at 2:07 PM, José F. Romaniello
<[email protected]>wrote:

> and you want something like
>
> select ...
> from Foo
> inner join Bar
> inner join Baz
>
> ?
>
> 2010/9/20 Scott <[email protected]>
>
> I think yes.
>>
>>
>>
>>
>> On Sep 20, 9:58 am, José F. Romaniello <[email protected]> wrote:
>> > Let me try to understand your scenario, you have something like "Foo has
>> a
>> > collection of Bar, an each Bar has a collection of Baz?" and you want to
>> > eager load the entire graph of all Foos?
>> >
>> > 2010/9/20 Scott <[email protected]>
>> >
>> >
>> >
>> > > But really, I need to find a solution to this. If I upgrade to v3 is
>> > > there any way to do this? Should I use HQL? Or am I going to have to
>> > > fall back on running a stored procedure?
>> >
>> > > On Sep 19, 5:53 pm, Fabio Maulo <[email protected]> wrote:
>> > > > LOL!!
>> >
>> > > > On Sun, Sep 19, 2010 at 7:35 PM, Scott <[email protected]>
>> > > wrote:
>> > > > > That's what I was thinking I'd have to do.
>> >
>> > > > > On Sep 19, 4:41 pm, Fabio Maulo <[email protected]> wrote:
>> > > > > > On Sun, Sep 19, 2010 at 4:19 PM, Scott <
>> [email protected]>
>> > > > > wrote:
>> > > > > > > Can anyone give me an idea on where to go with this?
>> >
>> > > > > > To the church to pray ?
>> >
>> > > > > > > On Sep 17, 9:33 am, Scott <[email protected]> wrote:
>> > > > > > > > I'm using version 2.1.2 with .NET 3.5 I was under the
>> impression
>> > > that
>> > > > > > > > v3 is still beta.
>> >
>> > > > > > > > The structure gets pretty big, that's why I tried to make it
>> more
>> > > > > > > > generic and simple and I think if I could figure out how to
>> get
>> > > the
>> > > > > > > > intersection of two collections of any type (many-to-many,
>> > > one-to-
>> > > > > > > > many, etc) its just a matter of repeating it down my tree.
>> >
>> > > > > > > > Here's an example of a situation:
>> > > > > > > > I have a BaseGroup which contains Specialties and Members,
>> > > > > Specialties
>> > > > > > > > have Measurements assigned to them. The Members are Scored
>> by the
>> > > > > > > > Measurements. I'm trying to get a list of all the Scores
>> where
>> > > the
>> > > > > > > > BaseGroup Specialties and the BaseGroup Members intersect.
>> >
>> > > > > > > > The hbm.xml:
>> >
>> > > > > > > > <class name="Models.BaseGroup, Project" table="BaseGroup">
>> > > > > > > >   <id name="RefId" type="guid">
>> > > > > > > >     <generator class="guid.comb" />
>> > > > > > > >   </id>
>> > > > > > > >   <version name="Version" type="Int32" generated="never">
>> > > > > > > >     <column name="Version" not-null="true" />
>> > > > > > > >   </version>
>> > > > > > > >   <property name="Title" column="Title" type="string"
>> > > not-null="true"
>> > > > > /
>> >
>> > > > > > > >   <bag name="Specialties" lazy="true"
>> table="BaseGroupSpecialty">
>> > > > > > > >     <key column="BaseGroupRefId" />
>> > > > > > > >     <many-to-many column="SpecialtyRefId"
>> > > class="Models.Specialty,
>> > > > > > > > Project" order-by="Title" />
>> > > > > > > >   </bag>
>> >
>> > > > > > > >   <bag name="Members" lazy="true" table="BaseGroupMember">
>> > > > > > > >     <key column="BaseGroupRefId" />
>> > > > > > > >     <many-to-many column="MemberRefId" class="Models.Member,
>> > > Project"
>> > > > > > > > order-by="Title" />
>> > > > > > > >   </bag>
>> > > > > > > > </class>
>> >
>> > > > > > > > <class name="Models.Specialty, Project" table="Specialty">
>> > > > > > > >   <!--omitted RefId and version, all same as BaseGroup-->
>> > > > > > > >   <property name="Title" column="Title" type="string"
>> > > not-null="true"
>> > > > > /
>> >
>> > > > > > > >   <bag name="BaseGroups" lazy="true"
>> table="BaseGroupSpecialty">
>> > > > > > > >     <key column="SpecialtyRefId" />
>> > > > > > > >     <many-to-many column="BaseGroupRefId"
>> > > class="Models.BaseGroup,
>> > > > > > > > Project" order-by="Title" />
>> > > > > > > >   </bag>
>> >
>> > > > > > > >   <bag name="Measurements" lazy="true"
>> > > table="MeasurementSpecialty">
>> > > > > > > >     <key column="SpecialtyRefId" />
>> > > > > > > >     <many-to-many column="MeasurementRefId"
>> > > > > class="Models.Measurement,
>> > > > > > > > Project" order-by="Title" />
>> > > > > > > >   </bag>
>> > > > > > > > </class>
>> >
>> > > > > > > > <class name="Models.Measurement, Project"
>> table="Measurement">
>> > > > > > > >   <!--omitted RefId and version, all same as BaseGroup-->
>> > > > > > > >   <property name="Title" column="Title" type="string"
>> > > not-null="true"
>> > > > > /
>> >
>> > > > > > > >   <bag name="Specialties" lazy="true"
>> > > table="MeasurementSpecialty">
>> > > > > > > >     <key column="MeasurementRefId" />
>> > > > > > > >     <many-to-many column="SpecialtyRefId"
>> > > class="Models.Measurement,
>> > > > > > > > Project" order-by="Title" />
>> > > > > > > >   </bag>
>> > > > > > > > </class>
>> >
>> > > > > > > > <class name="Models.Member, Project" table="Member">
>> > > > > > > >   <!--omitted RefId and version, all same as BaseGroup-->
>> > > > > > > >   <property name="Title" column="Title" type="string"
>> > > not-null="true"
>> > > > > /
>> >
>> > > > > > > >   <bag name="BaseGroups" lazy="true"
>> table="BaseGroupMember">
>> > > > > > > >     <key column="MemberRefId" />
>> > > > > > > >     <many-to-many column="BaseGroupRefId"
>> > > class="Models.BaseGroup,
>> > > > > > > > Project" order-by="Title" />
>> > > > > > > >   </bag>
>> >
>> > > > > > > >   <bag name="Scores" lazy="true">
>> > > > > > > >     <key column="MemberRefId" />
>> > > > > > > >     <one-to-many class="Models.Score, Project" />
>> > > > > > > >   </bag>
>> > > > > > > > </class>
>> >
>> > > > > > > > <class name="Models.Scorer, Project" table="Score">
>> > > > > > > >   <!--omitted RefId and version, all same as BaseGroup-->
>> > > > > > > >   <property name="Value" column="Value" type="double" not-
>> > > > > > > > null="false" />
>> >
>> > > > > > > >   <many-to-one name="Measurement" column="MeasurementRefId"
>> > > > > > > > class="Models.Measurement, Project" not-null="true" />
>> > > > > > > >   <many-to-one name="Member" column="MemberRefId"
>> class="Member,
>> > > > > > > > Project" not-null="true" />
>> > > > > > > > </class>
>> >
>> > > > > > > > On Sep 17, 2:02 am, nadav s <[email protected]> wrote:
>> >
>> > > > > > > > > what version are you using? (looks like the old one and
>> not
>> > > v3?)
>> > > > > > > > > what is you're actual scenario (with objects and
>> associations
>> > > that
>> > > > > make
>> > > > > > > > > sense)?
>> >
>> > > > > > > > > On Thu, Sep 16, 2010 at 10:09 PM, Scott <
>> > > [email protected]
>> >
>> > > > > > > wrote:
>> > > > > > > > > > I'm new to Linq and one thing I'm not understanding is
>> how to
>> > > > > form
>> > > > > > > > > > queries based on nhibernate objects that have
>> collections and
>> > > I
>> > > > > need
>> > > > > > > > > > to get down the tree on them.
>> >
>> > > > > > > > > > Obj1.Bags.AnyObjInBag.MoreBags.AnyObjInBag
>> >
>> > > > > > > > > > Maybe I'm doing it completely wrong but the only thing
>> that
>> > > some
>> > > > > what
>> > > > > > > > > > works on NH collections is if I do a cast on it like:
>> >
>> > > > > > > > > > from O1 in NHObj.O1Bag.Cast<O1Type>()
>> > > > > > > > > > join O2 in NHSession.Linq<O2>() on O1 equals
>> O2.O1Reference
>> > > > > > > > > > select O2
>> >
>> > > > > > > > > > That works for a collection to a single parameter but
>> what
>> > > about
>> > > > > the
>> > > > > > > > > > intersection of 2 collections?
>> >
>> > > > > > > > > > In TSQL I would have just had a bunch of inner joins
>> until I
>> > > got
>> > > > > > > > > > everything I wanted.
>> >
>> > > > > > > > > > --
>> > > > > > > > > > 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%[email protected]>>
>> > > <nhusers%[email protected]<nhusers%[email protected]>
>> <nhusers%252bunsubscr...@googlegroup s.com>>
>> > > > > <nhusers%[email protected]<nhusers%[email protected]>
>> <nhusers%252bunsubscr...@googlegroup s.com>
>> > > <nhusers%252bunsubscr...@googlegroup s.com>>
>> > > > > > > <nhusers%[email protected]<nhusers%[email protected]>
>> <nhusers%252bunsubscr...@googlegroup s.com>
>> > > <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%[email protected]>>
>> > > <nhusers%[email protected]<nhusers%[email protected]>
>> <nhusers%252bunsubscr...@googlegroup s.com>>
>> > > > > <nhusers%[email protected]<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.
>> >
>> > > > > > --
>> > > > > > Fabio Maulo
>> >
>> > > > > --
>> > > > > 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%[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.
>> >
>> > > > --
>> > > > Fabio Maulo
>> >
>> > > --
>> > > 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%[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]<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]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>



-- 
Fabio Maulo

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