代码约定的Nhibernate映射到Postgres序列

时间:2013-03-06 17:29:38

标签: nhibernate nhibernate-mapping npgsql

我正在使用PostGres 8.3并让NHibernate与数据库配合良好... 我正在创建一个约定文件,我在配置主键序列时遇到问题...我的所有表都有一个名为ID的主键,所以我这样做了:

...
mapper.BeforeMapClass += (modelInspector, type, classCustomizer) => {
            classCustomizer.Id(c => c.Column("ID"));
            classCustomizer.Id(c => c.Generator(Generators.Sequence));
};

当我尝试保存实例时,我收到了错误:

错误:42P01:关系“hibernate_sequence”不存在

我如何为此创建约定?

由于

1 个答案:

答案 0 :(得分:1)

查看How to properly use NHibernate By Code to get the next Sequence in Oracle?

Id(u => u.Id, map =>
            {
                map.Column("id");
                map.Generator(Generators.Sequence,
                              gmap => gmap.Params(new {sequence = "seq_name"}));
            });