我正在使用 NHibernate
通过代码与 MYSQL
进行映射,并且映射如下:-
Id(x => x.Id, map => { map.Column("ID"); map.Generator(Generators.Native); });
和数据库如下:-
ID int not null AUTO_INCREMENT
我使用了 Generators.Native
因为数据库将通过 AUTO_INCRMENT
生成它的 id。但在某些情况下我想手动设置 id (Id=10)
。我如何更改映射,如果 Id=0
则使用“AUTO_INCRMENT”,否则使用已设置的 Id
(即 10)。
我在互联网上查了一下,得到了这个link (自定义 Id 生成器)但适用于 Java
+ Hibernate
。我不知道如何在 NHibernate
mapping by code
中将其转换为 C#
。
最佳答案
在 Hiberante 中,您可以使用使用的注释进行定义。例如,您可以定义这个
@GeneratedValue(strategy=GenerationType.IDENTITY)
Identity 属性从数据库中获取自动增量。
关于c# - NHibernate手动设置id自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32769484/