No, that just sets join fetching. Left.JoinQueryOver changes the criteria
"context" to an association, like CreateCriteria.

   Diego


On Thu, Jun 24, 2010 at 17:52, Mohamed Meligy <[email protected]> wrote:

> So, for join fetch the Left.JoinQueryOver(...) is equivalent to
> myQueryOver.Fetch( x => x.Ref).Eager ?
>
> --
> Mohamed Meligy
> Senior Developer (Microsoft Technologies - Technical Delivery)
> Injazat Data Systems
> P.O. Box: 8230 Abu Dhabi, UAE
> [ Local Time Offset:  GMT +4 ]
>
> Direct:  +971   2 4045385
> Mobile: +971 50 2623624, +971 55 2017 621
>
> E-mail: [email protected]
> Weblog: http://gurustop.net
>
>
> On Fri, Jun 25, 2010 at 12:30 AM, Diego Mijelshon 
> <[email protected]>wrote:
>
>> It would actually be
>>
>>   session.QueryOver<Project>().Left.JoinQueryOver(p => p.Type).OrderBy(t => 
>> t.Label).Asc
>>
>>
>> The problem is, that is equivalent to:
>>
>> select project
>>  from Project project
>> left join fetch project.Type as type
>>  order by type.Label
>>
>> ...because QueryOver is just a pretty face for Criteria, and joins in
>> Criteria always fetch the association.
>> Also, it has none of the benefits of Linq, except the familiar syntax.
>>
>>    Diego
>>
>>
>> On Thu, Jun 24, 2010 at 17:05, Mohamed Meligy <[email protected]>wrote:
>>
>>> You can do left join in the QueryOver API (very similar to LINQ method
>>> chaining) you can do something like:
>>>
>>> session.QueryOver<Project>().Left.JoinQueryOver(p => p.Type).OrderBy(p
>>>> => p.Type.Label).Take(...);
>>>>
>>>
>>> (warning: not tested, try also session.QueryOver<ProjectType>() if
>>> p.Type doesn't work. I haven't tried the code and there is no XML
>>> documentation to advise)
>>>
>>>
>>> Regards,
>>>
>>> --
>>> Mohamed Meligy
>>> Senior Developer (Microsoft Technologies - Technical Delivery)
>>> Injazat Data Systems
>>> P.O. Box: 8230 Abu Dhabi, UAE
>>> [ Local Time Offset:  GMT +4 ]
>>>
>>> Direct:  +971   2 4045385
>>> Mobile: +971 50 2623624, +971 55 2017 621
>>>
>>> E-mail: [email protected]
>>> Weblog: http://gurustop.net
>>>
>>>
>>> On Thu, Jun 24, 2010 at 5:43 PM, Diego Mijelshon <[email protected]
>>> > wrote:
>>>
>>>> Hmmm... it's slightly unexpected as a behavior, although it's consistent
>>>> with the equivalent HQL:
>>>>
>>>>   from Project order by Project.Type.Label
>>>>
>>>> It generates an inner join (actually, a select from two tables with a
>>>> where clause)
>>>>
>>>> With HQL you can use explicit left joins:
>>>>
>>>> select project
>>>>  from Project project
>>>> left join project.Type as type
>>>>  order by type.Label
>>>>
>>>> But I don't know if it's possible with Linq...
>>>>
>>>>    Diego
>>>>
>>>>
>>>>
>>>> On Thu, Jun 24, 2010 at 08:59, Kakone <[email protected]> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I have a project class with a Type property (it's a nullable reference
>>>>> to a ProjectType entity).
>>>>>
>>>>> I want to order like this :
>>>>> Session.Query<Project>().OrderBy(p.Type.Label).ToList()
>>>>> When I do this, I don't get the objects where Type property value is
>>>>> null.
>>>>>
>>>>> So, I tried to write this :
>>>>> Session.Query<Project>().OrderBy(p => p.Type == null ? null :
>>>>> p.Type.Label).ToList()
>>>>> But, in this case, I've got an exception : "No persister for :
>>>>> xx.xxx.EntityBase"
>>>>>
>>>>> What can I do to get all the objects including those with Type ==
>>>>> null ?
>>>>>
>>>>>
>>>>> Cordially,
>>>>> Kakone.
>>>>>
>>>>> --
>>>>> 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.
>>>>
>>>
>>>  --
>>> 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.
>>
>
>  --
> 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