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

Reply via email to