Yep, thought about doing it, just wanted to give a quick ping would it
be interesting to someone...

Thanks!


Vladan

On Oct 6, 9:42 am, "Gustavo Ringel" <[EMAIL PROTECTED]> wrote:
> You can usewww.nhforge.orgsite. There are open wiki's and all the comunity
> will be able to learn and contribute from your post. Fabio posted some posts
> ago where the open wiki is located at the site.
>
> Thanks,
>
> Gustavo.
>
>
>
> On Mon, Oct 6, 2008 at 9:38 AM, Vladan Strigo <[EMAIL PROTECTED]> wrote:
>
> > One more interesting thing... How the queriyng works...
>
> > Lets say that a customer has an Orders many side, and a Product one
> > side... and we have keys:
>
> > - Customer - "customer.id" - "1"
> > - Orders - "customer.orders" - "1,2,3"
> > - Product "customer.product" - "1"
>
> > It will create 3 queries - 2 with Equal criteria, and 1 with In
> > criteria, batch them together via MultiCriteria and execute them in 1
> > call to the database.
>
> > This makes this hopefully in the long run a scalable thing.
>
> > Vladan
>
> > On Oct 6, 9:18 am, Vladan Strigo <[EMAIL PROTECTED]> wrote:
> > > For a small frameworkish thing I wanted to make something similar to
> > > the great functionality provided by Castle's ARDataBind attribute.
>
> > > One big difference is that this is based on NHibernate model itself
> > > and not ActiveRecord as it with Castle. For starters (not as
> > > attribute, seperated logic)  I made a NHibernateEntityFetcher.
>
> > > In a nutshell it allows you to provide a list (NameValueCollection) of
> > > identifiers (if you have a Customer entity, which has Orders many side
> > > and Product one side, you can provide keys for example "customer.id",
> > > "orders", "product"), a persisted type (e.g. Customer) and a strategy
> > > (FetchRootAndOptionallyChildren, FetchOnlyChildren,
> > > NewInstanceIfInvalidKey, NullIfInvalidKey) by which to fetch objects.
> > > And it depending on the strategy it will load or instantiate parent
> > > entity, load the children by ids (if provided and strategy says it
> > > should), connect them together (add to parent the children, add to
> > > children the parent if needed) and return a prepared object for insert
> > > or update.
>
> > > The syntax is something like:
>
> > > var fetcher = new NHibernateEntityFetcher(session);
>
> > > var customer =
> > > fetcher.Do(FetchBehavior.FetchOnlyChildren).Fetch<Customer>(keyValues);
>
> > > or
>
> > > var customer =
> > > fetcher.Do(FetchBehavior.FetchOnlyChildren).Fetch(typeof(Customer),
> > > keyValues);
>
> > > and alternatevly you can provide a strategy to assemble key names (if
> > > for example the values provided in the NameValueCollection are
> > > composed differently then [entitytypename].[entitypropertyname]).
>
> > > This all works by using the NHibernate internal class mappings and
> > > delegates as much reflection actions as possible to NHibernate itself
> > > (instantiating, setting property values and such which I found I could
> > > use).
>
> > > If someone would be interested in this I can write a blog post about
> > > it and put the source and sample project online?
>
> > > Cheers!
> > > Vladan- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
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