如何使用主键值= 0保存到数据库记录?

时间:2011-06-22 14:24:29

标签: nhibernate-mapping primary-key

我有一个客户端的数据库,我正在使用nHibernate访问。在一个表中,它们有一个主键,从0开始自动递增。我不能将客户端的数据库更改为基于1的自动增量。

当我尝试将带有外键的表中的子记录保存回此表时,我收到以下错误:“not-null属性引用空值或瞬态值”。只有当我保存具有0主键值的记录的子项时才会发现问题,所有其他记录都可以正常工作。

这是父表的生成器

           

和外键关系图:

问题:如何使用主键值= 0保存到数据库记录?

1 个答案:

答案 0 :(得分:0)

我看不到你的映射,但我会尝试

public ParentMap()
{
    Id(x => x.Id).GeneratedBy.Increment().UnsavedValue(-1);
}

public Parent()
{
    Id = -1;
}