I understand Fabio - I was being a bit general on purpose and perhaps was making naive assumptions. I hesitatingly asked the original question knowing it was a bit 'odd' on this thread; but I wanted to see what the response would be...I consider this the "hard-core" thread on the subject :)
Anyways, thanks for the input, and yes it had a positive impact on my design decision. -Jeff On Thu, Dec 17, 2009 at 7:41 PM, Fabio Maulo <[email protected]> wrote: > Only remember that ORM is a technique and not a framework. > When you have a clear idea about what mean ORM you can call NH "an ORM" for > abbreviation only. > > 2009/12/17 Jeffry Morris <[email protected]> > > True Diego, I am still thinking in SQL ;) I guess I want the benefits of >> both... >> >> Anyways, you pretty much confirmed my thinking on this: if you opt for the >> ORM route, then you have to invest 100% into it to get the full effects. >> ORM's are like a lifeboat that starts out deflated and only has value when >> inflated with air (data, mappings, etc.). >> >> Thanks, >> >> Jeff >> >> >> On Thu, Dec 17, 2009 at 2:16 PM, Diego Mijelshon >> <[email protected]>wrote: >> >>> Jeff, >>> >>> You are still thinking in SQL. >>> >>> Of course you can map ParentId as an int property and retrieve Parents by >>> id on demand, but there's no point on doing that. You lose capabilities and >>> you don't gain performance; you lose it because you can't join on demand >>> (because the relationship has not been established). >>> >>> Diego >>> >>> >>> >>> On Thu, Dec 17, 2009 at 17:25, Jeffry Morris <[email protected]>wrote: >>> >>>> Yeah, I know that n+1 can be avoided, what I am asking is if mapping a >>>> table to entity 1:1 and implicitly ignoring any foreign key relationships >>>> would be considered a bad practice. I am guessing it would affect 2nd level >>>> caching, but I am not sure exactly. >>>> >>>> If you were using say, linq to nhibernate, would you need this mapping >>>> since you provide any joins explicitly? For example: >>>> >>>> var x = from o in Order >>>> join i in OrderItems on o.OrderId equals i.OrderIId >>>> select i; >>>> >>>> So, in this case what is the purpose of having a "Has A" type >>>> relationship between Order and List<OrderItem> unless it is a ORM specific >>>> requirement? All I want todo is map table to entity and let the db handle >>>> foriegn key relationship via constraints. To me, the entity is just the >>>> data. >>>> >>>> Thanks, >>>> >>>> -Jeff >>>> >>>> >>>> On Thu, Dec 17, 2009 at 5:35 AM, Diego Mijelshon < >>>> [email protected]> wrote: >>>> >>>>> You will not have n+1 problems because of the relationships as long as >>>>> you use them correctly. >>>>> For the particular case that you mentioned, if you have a ParentId, you >>>>> don't even need to load the parent to get the children. >>>>> >>>>> >>>>> Diego >>>>> >>>>> >>>>> On Wed, Dec 16, 2009 at 22:06, jmorris <[email protected]> wrote: >>>>> >>>>>> Any advice on mapping tables directly to entities and using them as >>>>>> pure DTOs? Basically you ignore the foreign key reference as a child >>>>>> of the parent entity and explicitly load the children as needed: >>>>>> select * from children where children.parentid= xxx? >>>>>> >>>>>> I know this goes somewhat against the ORM grain, but when most of your >>>>>> usage is simply displaying list data, then this is a very per-formant >>>>>> way of getting what you need an avoiding any n+1 issues with ORMs. In >>>>>> this case your entities are just data, they are not even objects (data >>>>>> and behavior). >>>>>> >>>>>> Thoughts? >>>>>> >>>>>> -- >>>>>> >>>>>> 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]<nhusers%[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]<nhusers%[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]<nhusers%[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]<nhusers%[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]<nhusers%[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]<nhusers%[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.
