Don't mention it :) On Fri, Aug 28, 2009 at 9:09 PM, Chris W <[email protected]>wrote:
> > Thank for the heads up! I went ahead and moved the table naming logic > to the base class you mentioned. Everything seems to be working well > now. I really appreciate all the help! > > Thanks, > Chris > > On Aug 28, 3:03 am, James Gregory <[email protected]> wrote: > > You're correct on both accounts. > > You don't have to set the table name separately, but I would strongly > > recommend it. The base class that you derive from > > (ManyToManyTableNameConvention) has a lot of magic in for making sure it > > doesn't set the table name for both sides of a bi-directional (we used to > > have a bug where you'd end up with AToB and BToA for each side), and it's > > also careful not to override anything you've explicitly set. Like I said, > > you don't need to do this, but it can be a pain saver. > > > > If you do go that route, you do need to implement both methods. > > > > On Thu, Aug 27, 2009 at 4:34 PM, Chris W <[email protected] > >wrote: > > > > > > > > > Thanks James, > > > > > Yeah, I was stuck on the Key.Column and Relationship.Column thing. > > > Just to make sure I am understanding correctly, are you recommending > > > that I set the 2 key values via IHasManyToManyConvention but use > > > ManyToManyTableNameConvention for the table name? Also, do I need to > > > override both GetBiDirectionalTableName and > > > GetUniDirectionalTableName? Thanks again for the help! > > > > > Chris > > > > > On Aug 27, 4:07 am, James Gregory <[email protected]> wrote: > > > > Also, consider using the acceptance > > > > criteria< > > >http://wiki.fluentnhibernate.org/Conventions#Conditional_applying_of_.. > .> > > > > instead > > > > of your null checks, as you can't guarantee something will be null as > > > they > > > > get pre-populated with default values. > > > > > > On Thu, Aug 27, 2009 at 11:06 AM, James Gregory < > [email protected] > > > >wrote: > > > > > > > Firstly, be careful setting the many-to-many table name like you > are, > > > you > > > > > can get into a mess like that. I'd recommend overriding the > > > many-to-many > > > > > table naming convention< > > >http://wiki.fluentnhibernate.org/Available_conventions#ManyToManyTabl.. > .>, > > > > > which is specifically designed to handle both sides of a > bi-directional > > > > > many-to-many. > > > > > ParentKeyColumn == Key.Column > > > > > ChildKeyColumn == Relationship.Column > > > > > > > The latter is a little unclear I realise. > > > > > > > On Wed, Aug 26, 2009 at 6:54 PM, Chris Willard < > > > > > [email protected]> wrote: > > > > > > >> Hello, > > > > > > >> I am in the process of upgrading to the Fluent 1.0RC and and stuck > on > > > > >> my IHasManyToManyConvention convention. I can't seem to figure > out > > > > >> how to update ParentKeyColumn and ChildKeyColumn. Below is my > > > > >> original version. > > > > > > >> public void Apply(IManyToManyPart target) > > > > >> { > > > > >> if (target.TableName == null) > > > > >> target.WithTableName(target.EntityType.Name + > > > > >> target.ChildType.Name); > > > > >> if (target.ParentKeyColumn == null) > > > > >> target.WithParentKeyColumn(target.EntityType.Name+ > > > > >> "ID"); > > > > >> if (target.ChildKeyColumn == null) > > > > >> target.WithChildKeyColumn(target.ChildType.Name + > > > > >> "ID"); > > > > >> } > > > > > > >> Thanks in advance, > > > > >> Chris > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Fluent NHibernate" 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/fluent-nhibernate?hl=en -~----------~----~----~----~------~----~------~--~---
