That doesn't work... :-(

   Diego


On Thu, Jun 24, 2010 at 18:09, Oskar Berggren <[email protected]>wrote:

> This compiles, but is untested. No idea if correct or supported in NH.
> But based on docs this seems like a starting point.
>
> var obj = from p in Session.Query<Project>()
>                      join t in Session.Query<Type>() on p.Type equals
> t into mygroup
>                      from item in mygroup.DefaultIfEmpty()
>                      orderby item.Label
>                      select o;
>
>
> http://msdn.microsoft.com/en-us/library/bb397895.aspx
> http://msdn.microsoft.com/en-us/vbasic/bb737929.aspx#grpjoinleftout
> http://msdn.microsoft.com/en-us/library/bb311040.aspx
>
>
> /Oskar
>
>
> 2010/6/24 Diego Mijelshon <[email protected]>:
> > 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]<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