c# – FLUEnt Nhibernate和PostgreSQL中的自动增量
发布时间:2020-12-16 01:38:36 所属栏目:百科 来源:网络整理
导读:Hai,我是Fluent Nhibernate的新手. 我有一个PostgreSQL数据库,我想要的是一个带有自动增量的生成ID. 我没有看到PostgreSQL中的功能自动增量,我知道在PostgreSQL中使用自动增量我必须创建一个序列. 除了序列还有另一种方式吗? 如果创建序列是唯一的方法,你能
Hai,我是Fluent Nhibernate的新手.
我有一个PostgreSQL数据库,我想要的是一个带有自动增量的生成ID. 除了序列还有另一种方式吗? 如果创建序列是唯一的方法,你能告诉我应该如何映射吗? mapping.Id(x => x.Id,"id").GeneratedBy.Sequence("hibernate-sequence"); 我在使用它之前创建了hibernate-sequence. 问候 解决方法
奇怪,但如果你调用Save(Object)而不是SaveOrUpdate(Object),你的代码插入工作正常
编辑#1 这对我有用. 实体: public class Human { public virtual int ID { get; set; } public virtual string Name { get; set; } } public class HumanMap : ClassMap<Human> { public HumanMap() { this.Id(x => x.ID).CustomSqlType("Serial").GeneratedBy.Native(); this.Map(x => x.Name); } } 并使用模式导出进行配置: static ISessionFactory CreateSF() { return Fluently .Configure() .Database(PostgreSQLConfiguration.Standard.ConnectionString("Server=127.0.0.1;Port=5432;Database=fnhtest;User=postgres;Password=password")) .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Program>()) .ExposeConfiguration(cfg => { new SchemaExport(cfg).Create(false,true); }) .BuildSessionFactory(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |