【问题标题】:how do I save to a database record with the primary key value = 0?如何保存到主键值 = 0 的数据库记录?
【发布时间】:2011-06-22 14:24:29
【问题描述】:

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

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

这是父表的生成器

和外键关系图:

问题:如何保存到主键值为 0 的数据库记录?

【问题讨论】:

    标签: nhibernate-mapping primary-key


    【解决方案1】:

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

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

    public Parent()
    {
        Id = -1;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多