http://github.com/jagregory/fluent-nhibernate/tree/master
<http://github.com/jagregory/fluent-nhibernate/tree/master>I'd say #2 would
be my pick, and the OrderBy() can return an interface that only gives you
the choice of Ascending or Descending, and Asc/Desc would return the parent
object (the OneToManyPart). Check out how the Cascade strategy works for an
example.

On Mon, Jun 15, 2009 at 6:44 PM, Dylan Beattie <[email protected]>wrote:

>
> Hi,
>
> I've been playing around with Fluent NH for a couple of days, and I
> really, really like what you've done with it - awesome work, and
> thankyou!
>
> I have some rough-but-running code for fluently specifying ordering of
> child collections, and wanted some thoughts on syntax before I cover
> the rest of the cases and hopefully submit a patch sometime this week.
>
> Three possibilities I can see:
>
> 1) HasMany<Child>(p => p.Children).OrderBy.Ascending(child =>
> child.Name)
>
> This is my personal favourite so far, although I don't have a fully-
> working implementation of this particular syntax yet. The syntax and
> ideas are borrowed from CascadeExpression, and force you to specify
> either .Ascending or .Descending, followed by either a string or
> lambda property expression specifying the sort property.
>
> 2) HasMany<Child>(p => p.Children).OrderBy(child =>
> child.Name).Ascending()
>
> A bit more LINQ-y, but means .Ascending() and .Descending() have to be
> chained onto the return from .OrderBy() - which means it's
> syntactically possible to add .Ascending() without specifying .OrderBy
> (). Alternatively we could use the LINQ OrderBy() / OrderByDescending
> () syntax here.
>
> 3) HasMany<Child>(p => p.Children).OrderBy(child => child.Name,
> Order.Ascending)
>
> - i.e. just throw an enum Order { Ascending, Descending } in there as
> a second parameter, defaulting to Ascending if it's omitted. I'd like
> to steer clear of using 'bool ascending' which is used elsewhere in NH
> - it works fine but isn't clear what the true/false means when you're
> reading the resulting code.
>
> Unless anyone has a strong objection or a better idea, I'll go ahead
> with approach #1 and see how I get on. Where's the best place to
> submit a patch for this if I get something working?
>
> Thanks,
>
> Dylan
> >
>


-- 
- Hudson
http://www.bestguesstheory.com
http://twitter.com/HudsonAkridge

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" 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/fluent-nhibernate?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to