Having looked at it, Jose did the cascade all for Product.Customizations
only, so, to match his domain correctly I need to make that a class override
not in a convention.

Will apply the change and update article tonight.



*Mohamed Meligy
*Readify | Senior Developer

M:+61 451 835006 | W: readify.net
[image: Description: Description: Description: Description:
rss_16]<http://gurustop.net>
[image: Description: Description: Description: Description:
cid:[email protected]]
<http://www.linkedin.com/in/meligy>  [image:
Description: Description: Description: Description:
cid:[email protected]] <http://twitter.com/meligy>
 
<http://www.greatplacetowork.com.au/best/best-companies-australia.php><http://www.readify.net/AboutUs/NewsItem.aspx?id=10>



On Thu, Apr 28, 2011 at 9:53 AM, Mohamed Meligy <[email protected]>wrote:

> I'm checking the issue with "set" when back from work tonight.
> The cascade all came from original checks of Jose I got (IF i remember
> correctly).
>
> ----
>
> And seriously, "please" stop this horse and stone thing.
> You keep saying people say because the two are "things" then they are
> similar.
> But of course, "an / two NHibernate mapping option(s)" != "a
> / two thing(s)" to keep making this "conform/FNH == stone/horse" statement.
>
> I just happened to like FNH class mappings and happened to try automappings
> with these samples. You seem to me ignoring the people who like FNH maybe
> because of good reasons like you mentioned in blog they didn't try to make
> it a usable NH patch and/or they don't use NH conventions. All this is fair
> enough, but this "strone vs horse" one is not.
>
> ---
>
> Having said that, I do believe once a convention based mapping is built
> into NHibernate and hopefully clearly named (no sexy/cool whatever unobvious
> meanings namings in API/classes), with the performance improvement and the
> fact its built in, it clearly is going to be the way to go.
> That's why I'm so excited about your blog post about that and waiting for
> more. *Thanks a lot for your contributions to it*.
>
> Regards,
>
>
> *Mohamed Meligy
> *Readify | Senior Developer
>
> M:+61 451 835006 | W: readify.net
> [image: Description: Description: Description: Description: 
> rss_16]<http://gurustop.net>
> [image: Description: Description: Description: Description:
> cid:[email protected]] <http://www.linkedin.com/in/meligy>  
> [image:
> Description: Description: Description: Description:
> cid:[email protected]] <http://twitter.com/meligy>
>  
> <http://www.greatplacetowork.com.au/best/best-companies-australia.php><http://www.readify.net/AboutUs/NewsItem.aspx?id=10>
>
>
>
> On Thu, Apr 28, 2011 at 3:39 AM, Fabio Maulo <[email protected]> wrote:
>
>> That mapping works just because you are lucky...
>> All collections as set, all with cascade=all... btw zero lines of
>> customization is zero lines.
>> a horse can be equal to a stone until you don't need to run with it.
>>
>>
>> On Wed, Apr 27, 2011 at 2:27 PM, Mohamed Meligy <[email protected]>wrote:
>>
>>> Here it is:
>>>
>>> http://gurustop.net/blog/2011/04/17/nh-nhibernate-mapping-jose-romaniello-ef-conform-domain-using-fnh-fluentnhibernate/<http://bit.ly/jt0BbN>
>>>
>>>
>>>
>>> *Mohamed Meligy
>>> *Readify | Senior Developer
>>>
>>> M:+61 451 835006 | W: readify.net
>>> [image: Description: Description: Description: Description: 
>>> rss_16]<http://gurustop.net>
>>> [image: Description: Description: Description: Description:
>>> cid:[email protected]] <http://www.linkedin.com/in/meligy>
>>>   [image: Description: Description: Description: Description:
>>> cid:[email protected]] <http://twitter.com/meligy>
>>>  
>>> <http://www.greatplacetowork.com.au/best/best-companies-australia.php><http://www.readify.net/AboutUs/NewsItem.aspx?id=10>
>>>
>>>
>>>
>>> On Wed, Apr 27, 2011 at 9:20 PM, Fabio Maulo <[email protected]>wrote:
>>>
>>>> Mohamed, what about that old example with FNH ? have you some news ?
>>>>
>>>> --
>>>> Fabio Maulo
>>>>
>>>>
>>>> El 27/04/2011, a las 00:49, Mohamed Meligy <[email protected]>
>>>> escribió:
>>>>
>>>> You might be looking for something like:
>>>>
>>>>>
>>>>> session.CreateFilter(entity.YourCollection).SetMaxResults(x).SetFirstResult(y)
>>>>
>>>> This is quoted from one of Fabio's latest emails to this list. Thanks
>>>> Fabio!
>>>>
>>>> You mihgt also have some kind of view model or whatever, that has the
>>>> project entity and the Tasks collection and maybe the pagining parameters
>>>> (like total count, etc...).
>>>> You can use features like Futures and <http://ADO.NET>ADO.NET batch
>>>> size to optimize querying for this.
>>>>
>>>>
>>>>
>>>> *Mohamed Meligy
>>>> *Readify | Senior Developer
>>>>
>>>> M:+61 451 835006 | W: readify.net
>>>> [image: Description: Description: Description: Description: 
>>>> rss_16]<http://gurustop.net>
>>>> [image: Description: Description: Description: Description:
>>>> cid:[email protected]] <http://www.linkedin.com/in/meligy>
>>>>   [image: Description: Description: Description: Description:
>>>> cid:[email protected]] <http://twitter.com/meligy>
>>>>  
>>>> <http://www.greatplacetowork.com.au/best/best-companies-australia.php><http://www.readify.net/AboutUs/NewsItem.aspx?id=10>
>>>>
>>>>
>>>>
>>>> On Wed, Apr 27, 2011 at 7:10 AM, Stephen Hardie <<[email protected]>
>>>> [email protected]> wrote:
>>>>
>>>>> Ok let's use another example (I only used customer/order objects
>>>>> because everyone is on the same page regarding them, or so I thought)...
>>>>>
>>>>> Say I have a project and a task object. the project has many tasks
>>>>> (10,000) and I wan't to go through all 10,000 tasks and invoke them all. 
>>>>> As
>>>>> it stands now if I wanted to do this, I'd have to go through IQuery and 
>>>>> page
>>>>> the tasks directly. Instead I would prefer the following..
>>>>>
>>>>> 1. Get the project (by id)
>>>>> 2. Enumeration project.Tasks  (this step is where nhibernate should
>>>>> offer the ability to page the Tasks collection automatically.)
>>>>> (Note: I've seen and used another ORM framework that actually did
>>>>> provide this functionality, unfortunately it's proprietary and very old,
>>>>> before nhibernate existed).
>>>>> 3. Invoke the task.
>>>>>
>>>>>
>>>>> The point isn't about what two parent/child objects I have, the point
>>>>> is I want to be able to page a parent's child collection without breaking 
>>>>> up
>>>>> the domain model or turning lazy loading off.
>>>>>
>>>>>
>>>>> Thank you José for listening and discussing this with me. It's very
>>>>> helpful!
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Apr 26, 2011 at 11:07 AM, José F. Romaniello 
>>>>> <<[email protected]>
>>>>> [email protected]> wrote:
>>>>>
>>>>>> You are mixing concepts here.
>>>>>> Aggregate roots has nothing to do with hierarchies structures.
>>>>>> The domain you are showing is the -hello world- of learning what is an
>>>>>> aggregate and what it is not.
>>>>>> Order and Customer are *usually* two different aggregates, while
>>>>>> OrderLine belongs to the Order aggregate.
>>>>>> You have to think what does make more sense for your application and
>>>>>> what thing deserve to be an aggregate root. If you have customers with
>>>>>> 10.000 orders Id say; without any doubt, that an "order" is an important
>>>>>> thing in your system *per-se*.
>>>>>>
>>>>>> A worse example of what you are doing will be to nest everything like;
>>>>>> Country => Provinces => Cities => Customer => Orders..
>>>>>> Then if you need to add an order to your system, you use a
>>>>>> CountryRepository to get the country of the customer, find the province 
>>>>>> of
>>>>>> your customer, find the city, find the customer, and add the order to his
>>>>>> order collection. This does not make sense.
>>>>>>
>>>>>> 2011/4/26 Stephen Hardie < <[email protected]>[email protected]
>>>>>> >
>>>>>>
>>>>>>> Because making it into it's own aggregate root breaks the domains
>>>>>>> hierarchy structure, which in turn causes the domain model to be that 
>>>>>>> much
>>>>>>> more difficult to understand and follow.
>>>>>>>
>>>>>>>
>>>>>>>  On Tue, Apr 26, 2011 at 4:14 AM, José F. Romaniello 
>>>>>>> <<[email protected]>
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>>  Order is almost always an aggregate root in that example.
>>>>>>>>
>>>>>>>> Why do you think that having Customer -> Orders (10000) is less
>>>>>>>> uglier than having Order as aggregate root?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2011/4/26 Kinstephen < <[email protected]>[email protected]>
>>>>>>>>
>>>>>>>>> as Customer ->
>>>>>>>>> Orders (10,000 or more records/entities)
>>>>>>>>>
>>>>>>>> ...
>>>>>>>>
>>>>>>>> And the only work around architecturally is to make Orders into an
>>>>>>>>> aggregate root of it's own and then use IQuery to setup paging. To
>>>>>>>>> me
>>>>>>>>> this seems rather ugly as it breaks the domain hierarchy up into an
>>>>>>>>> unnatural object model.
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "nhusers" group.
>>>>>>>> To post to this group, send email to <[email protected]>
>>>>>>>> [email protected].
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> <nhusers%[email protected]>
>>>>>>>> [email protected].
>>>>>>>> For more options, visit this group at
>>>>>>>> <http://groups.google.com/group/nhusers?hl=en>
>>>>>>>> http://groups.google.com/group/nhusers?hl=en.
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "nhusers" group.
>>>>>>> To post to this group, send email to <[email protected]>
>>>>>>> [email protected].
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> <nhusers%[email protected]>
>>>>>>> [email protected].
>>>>>>> For more options, visit this group at
>>>>>>> <http://groups.google.com/group/nhusers?hl=en>
>>>>>>> http://groups.google.com/group/nhusers?hl=en.
>>>>>>>
>>>>>>
>>>>>>  --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "nhusers" group.
>>>>>> To post to this group, send email to <[email protected]>
>>>>>> [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> <nhusers%[email protected]>
>>>>>> [email protected].
>>>>>> For more options, visit this group at
>>>>>> <http://groups.google.com/group/nhusers?hl=en>
>>>>>> http://groups.google.com/group/nhusers?hl=en.
>>>>>>
>>>>>
>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "nhusers" group.
>>>>> To post to this group, send email to <[email protected]>
>>>>> [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> <nhusers%[email protected]>
>>>>> [email protected].
>>>>> For more options, visit this group at
>>>>> <http://groups.google.com/group/nhusers?hl=en>
>>>>> http://groups.google.com/group/nhusers?hl=en.
>>>>>
>>>>
>>>>  --
>>>> 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.
>>>>
>>>>  --
>>>> 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.
>>>>
>>>
>>>  --
>>> 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.
>>>
>>
>>
>>
>> --
>> 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.
>>
>
>

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