I got it working, but the code does not feel right. The code in my
Apply method is what really bugs me.

In my class map, I now need to do the following......

     Map(x => x.Column, "COLUMN_NAME")

And in my IPropertyConvention I need to do this....

       public void Apply(IProperty target)
        {
            if (target.ColumnNames.List().Count == 0)
            {
                target.ColumnNames.Add
(target.Property.Name.ToUpperCaseUnderscore());
            }
        }


On Mar 14, 9:29 am, JohnRudolfLewis <johnrle...@gmail.com> wrote:
> I forget the number, but it was from yesterday. I will try to rewrite
> considering what you just posted. (our posts crossed)
>
> On Mar 14, 9:16 am, James Gregory <jagregory....@gmail.com> wrote:
>
>
>
> > How recently did you update?
> > Properties can have multiple columns and it was ambiguous whether you were
> > setting the name or adding an extra one, I've since updated the code to make
> > it a bit clearer. If I remember correctly your Apply should contain:
>
> > target.ColumnNames.Clear(); // make sure there are no other columns
> > specified first
> > target.ColumnNames.Add(target.Property.Name.ToUpperCaseUnderscore());
>
> > On Sat, Mar 14, 2009 at 4:07 PM, JohnRudolfLewis 
> > <johnrle...@gmail.com>wrote:
>
> > > I am playing with the latest conventions code and loving it so far.
> > > But when I tried to implement a convention for my column names to
> > > match what my Oracle DBA tells me I must do, I run into trouble.
>
> > > When I declare the following:
>
> > >    public class ColumnNameConvention : IPropertyConvention
> > >    {
> > >        public bool Accept(IProperty target)
> > >        {
> > >            return true;
> > >        }
>
> > >        public void Apply(IProperty target)
> > >        {
> > >            // ToUpperCaseUnderscore is an extension I declare
> > > elsewhere, it returns a string
> > >            target.ColumnName
> > > (target.Property.Name.ToUpperCaseUnderscore());
> > >        }
> > >    }
>
> > > I get the following errors:
>
> > >     FluentNHibernate.Cfg.FluentConfigurationException : An invalid or
> > > incomplete configuration was used while creating a SessionFactory.
> > > Check PotentialReasons collection, and InnerException for more detail.
>
> > >     NHibernate.MappingException : property mapping has wrong number
> > > of columns: MyMappingTest.DomainModel.User.PersonType type: String- Hide 
> > > quoted text -
>
> > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" group.
To post to this group, send email to fluent-nhibernate@googlegroups.com
To unsubscribe from this group, send email to 
fluent-nhibernate+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/fluent-nhibernate?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to