我正在使用NHibernate
代码与MYSQL
进行映射,并且映射如下: -
Id(x => x.Id, map => { map.Column("ID"); map.Generator(Generators.Native); });
和数据库如下: -
ID int not null AUTO_INCREMENT
我使用Generators.Native
因为数据库会按AUTO_INCREMENT
生成其ID。但我想在某些情况下手动设置ID (Id=10)
。如何更改映射,如果Id=0
然后使用'AUTO_INCREMENT',则使用已设置为Id
的10。
我在互联网上查看了link(自定义ID生成器)但Java
+ Hibernate
。我不知道如何将NHibernate
mapping by code
转换为C#
。
答案 0 :(得分:0)
在Hiberante中,您可以定义使用的anotation。例如,您可以定义此
@GeneratedValue(strategy=GenerationType.IDENTITY)
Idetentity属性从数据库中获取自动增量。
答案 1 :(得分:0)
您需要的是将您的ID定义从原生更改为已分配。
Id(x => x.Id,map => {map.Column(" ID"); map.Generator(Generators。 Assigned );}) ;