Criteria: IT is actually not a solution but a work around :/

Linq: Thought this worked
var l3 = (from l in session.Linq<SomeClass>() where l.Children.Count > 0
select l);

:/



Tuna Toksöz
Eternal sunshine of the open source mind.

http://devlicio.us/blogs/tuna_toksoz
http://tunatoksoz.com
http://twitter.com/tehlike




On Sun, Aug 2, 2009 at 11:26 PM, Ricardo Peres <[email protected]> wrote:

>
> Hi, Tuna!
>
> Thanks for the link. I thing the Criteria API is excessively verbose!
> Why do I have to join the same table in order to do an unrestricted
> count? :-( It does solve the problem, however.
>
> What about the LINQ version, doesn't anyone have a clue?
>
> Thanks,
>
> RP
>
>
> On Aug 1, 12:29 pm, Tuna Toksoz <[email protected]> wrote:
> > Does this helphttp://
> devlicio.us/blogs/tuna_toksoz/archive/2009/07/10/querying-on-c...
> >
> > Tuna Toksöz
> > Eternal sunshine of the open source mind.
> >
> >
> http://devlicio.us/blogs/tuna_toksozhttp://tunatoksoz.comhttp://twitter.com/tehlike
> >
> >
> >
> > On Sat, Aug 1, 2009 at 2:09 PM, Ricardo Peres <[email protected]> wrote:
> >
> > > Hello,
> >
> > > I have this simple class:
> >
> > > public class SomeClass
> > > {
> > >    public Int32 Id { get; set; }
> > >    public SomeClass Parent { get; set; }
> > >    public ISet<SomeClass> Children { get; set; }
> > > }
> >
> > > As you can see, it maps a simple table which is related with itself,
> > > recursively. All mappings are fine.
> > > Now, I want to list all records that have children; with HQL, it is
> > > pretty easy:
> >
> > > var l1 = session.CreateQuery("from SomeClass sc where sc.Children.size
> > > > 0").List<SomeClass>();
> >
> > > How would I do this with the Criteria API? And what about LINQ to
> > > NHibernate? The following both fail:
> >
> > > var l2 = session.CreateCriteria<SomeClass>("p").Add
> > > (NHibernate.Criterion.Expression.Gt("p.Children.Count",
> > > "0")).List<SomeClass>();
> >
> > > var l3 = (from l in session.Linq<SomeClass>() where l.Children.Count >
> > > 0 select l).ToList();
> >
> > > var l4 = session.Linq<SomeClass>().Where(l => l.Children.Count >
> > > 0).ToList();
> >
> > > Can you help?
> >
> > > Thanks,
> >
> > > Ricardo Peres
> >
>

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