"please accept my apology" ? for what ?
2009/11/9 Mohamed Meligy <[email protected]> > Oops. Got me one more time! > > I remember reading the comment somewhere and not getting it. Maybe was not > read clearly or so, also, today I was following this thread while busy in > non-related work stuff. Anyway, please accept my apology. I know this much > have been way crossed the borders. > > And thanks to you for both answering this and baring with me. > > Most Regards, > > > -- > Mohamed Meligy > Senior Developer, Team Lead Backup (.Net Technologies) – Applications > Delivery - TDG > Injazat Data Systems > P.O. Box: 8230 Abu Dhabi, UAE. > > Phone: +971 2 6992700 > Direct: +971 2 4045385 > Mobile: +971 50 2623624, +971 55 2017 621 > > E-mail: [email protected] > Weblog: http://weblogs.asp.net/meligy > > > On Mon, Nov 9, 2009 at 8:11 PM, Fabio Maulo <[email protected]> wrote: > >> The comment is there >> http://nhforge.org/doc/nh/en/index.html#manipulatingdata-loading >> <http://nhforge.org/doc/nh/en/index.html#manipulatingdata-loading>"If the >> class is mapped with a proxy, Load() returns an object that is an >> uninitialized proxy and *does not actually hit the database until you >> invoke a method of the object*. *This behaviour is very useful if you >> wish to create an association to an object without actually loading it from >> the database*." >> >> 2009/11/9 Mohamed Meligy <[email protected]> >> >> Super clear explanation and really really cool feature :) :). >>> >>> Although I'd see it as workaround at first the more I read in the >>> explanation the more I love this! >>> >>> Can this explanation go as the XML comment of the method or something? >>> >>> >>> Thanks a lot *Fabio *(sorry that I didn't understand what you meant at >>> first and assumed without checking), and Anne. >>> >>> >>> >>> Regards, >>> >>> -- >>> Mohamed Meligy >>> Senior Developer, Team Lead Backup (.Net Technologies) – Applications >>> Delivery - TDG >>> Injazat Data Systems >>> P.O. Box: 8230 Abu Dhabi, UAE. >>> >>> Phone: +971 2 6992700 >>> Direct: +971 2 4045385 >>> Mobile: +971 50 2623624, +971 55 2017 621 >>> >>> E-mail: [email protected] >>> Weblog: http://weblogs.asp.net/meligy >>> >>> >>> On Mon, Nov 9, 2009 at 12:02 PM, Anne Epstein <[email protected]> wrote: >>> >>>> Mohamed, >>>> See this post: >>>> >>>> http://ayende.com/Blog/archive/2009/04/30/nhibernate-ndash-the-difference-between-get-load-and-querying-by.aspx >>>> >>>> Summary- Here's what you do to get the behavior you're looking for: >>>> >>>> 1) retrieve your Category from your repository >>>> 2) assign this category to the product >>>> 3) save >>>> >>>> You might ask: "But won't that cause a db SELECT call in step 1?" *No*, >>>> not if you use the Load() method. Load() will create a proxy of your >>>> Category object with the id you specify, *without* getting the >>>> contained data of the Category from the db. Assign that proxy object to the >>>> product.Category. Save your product, and you *never* had to hit the db >>>> to get your Category. Of course, if you were to access one of the >>>> properties of Category in your code, NH would make a db call to get the >>>> values... but if you only do a straight Load() and assign the "retrieved" >>>> proxy to product.Category, it'll work exactly the way you want, no SELECTs, >>>> ony one INSERT statement. Next time you pull Product out of the db and >>>> access its Category, your relationship with this Category will come back >>>> out >>>> just the way you want. >>>> >>>> Anne >>>> >>>> >>>> >>>> On Mon, Nov 9, 2009 at 1:47 AM, Mohamed Meligy <[email protected]>wrote: >>>> >>>>> Well, what if I do not want to load the category? I know it sounds >>>>> stupid caring about only one more query it shouldn't be an optimization, >>>>> but >>>>> I was just curious if it was possible. >>>>> >>>>> >>>>> Regards, >>>>> >>>>> -- >>>>> Mohamed Meligy >>>>> Senior Developer, Team Lead Backup (.Net Technologies) – Applications >>>>> Delivery - TDG >>>>> Injazat Data Systems >>>>> P.O. Box: 8230 Abu Dhabi, UAE. >>>>> >>>>> Phone: +971 2 6992700 >>>>> Direct: +971 2 4045385 >>>>> Mobile: +971 50 2623624, +971 55 2017 621 >>>>> >>>>> E-mail: [email protected] >>>>> Weblog: http://weblogs.asp.net/meligy >>>>> >>>>> >>>>> On Mon, Nov 9, 2009 at 7:26 AM, Fabio Maulo <[email protected]>wrote: >>>>> >>>>>> product.Category = session.Load<Category>(theId); >>>>>> >>>>>> >>>>>> 2009/11/8 Mohamed Meligy <[email protected]> >>>>>> >>>>>> Let's say I have a mapping like this (using Fluent, sample made up >>>>>>> for the sake of the email) >>>>>>> >>>>>>> References(product => product.Category, "CategoryID"); >>>>>>> >>>>>>> where each One Category has zero to Many Products. >>>>>>> >>>>>>> Lets say I need to set the value of the Category.Id of the Product >>>>>>> directly without loading the Category object. I thought I could do >>>>>>> something >>>>>>> like: >>>>>>> >>>>>>> product.Category.Id <http://product.category.id/> = >>>>>>> int.Parse(ddlCategory.SelectedValue); >>>>>>> >>>>>>> (Code is OVER simplified for demoing here, yes, I have layering in my >>>>>>> application :)). >>>>>>> >>>>>>> Someone told me the proxy handles getting the value for >>>>>>> product.Category.Id <http://product.category.id/> (if exists) >>>>>>> without loading the category, so, I thought it may work when I SET the >>>>>>> Id, >>>>>>> but what happened is that it gave a NullReferenceException (makes sense >>>>>>> of >>>>>>> course). >>>>>>> >>>>>>> So, I was asking, is there another way of doing this ?? (whether or >>>>>>> not it is a right idea to do it at all please) >>>>>>> >>>>>>> >>>>>>> Thank you very much. >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> -- >>>>>>> Mohamed Meligy >>>>>>> Senior Developer, Team Lead Backup (.Net Technologies) – Applications >>>>>>> Delivery - TDG >>>>>>> Injazat Data Systems >>>>>>> P.O. Box: 8230 Abu Dhabi, UAE. >>>>>>> >>>>>>> Phone: +971 2 6992700 >>>>>>> Direct: +971 2 4045385 >>>>>>> Mobile: +971 50 2623624, +971 55 2017 621 >>>>>>> >>>>>>> E-mail: [email protected] >>>>>>> Weblog: http://weblogs.asp.net/meligy >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Fabio Maulo >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>> >>> >>> >> >> >> -- >> Fabio Maulo >> >> >> > > > > -- Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
