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