Search code examples
c#nhibernatefluent-nhibernateautomapping

Help making Fluent NHibernate create an oracle sequence for each table


I am using Fluent NHibernate's (1.0 RTM) automapping feature to create my oracle database schema. My issue is that all the tables are using a single "hibernate-sequence", whereas I would prefer (and my boss would demand) a sequence generator for each table.

Any ideas?


Solution

  • Managed to solve my own solution. Here's the code:

    public class OraclePrimaryKeySequenceConvention : IIdConvention
    {
        public void Apply(IIdentityInstance instance)
        {
            instance.GeneratedBy.Sequence(string.Format("Sequence_{0}",
                                                        instance.EntityType.Name));
        }
    }
    

    Yay. :-)