代码之家  ›  专栏  ›  技术社区  ›  Sebastian Edelmeier

NHibernate映射(属性):KeyProperty未持久化

  •  0
  • Sebastian Edelmeier  · 技术社区  · 14 年前

    在我当前的项目中,工作流有注释。请看一下下面的代码。

    [CompositeId]
    [KeyProperty(1, Column = "datum", Name = "Date", TypeType = typeof(DateTime))]
    [KeyManyToOne(1, Column = "workflow_id", Name = "Workflow", ClassType = typeof(Workflow))]        
     public virtual IWorkflow Workflow { get; set; }
    
     [Property(Column = "kommentar")]
     public virtual string CommentText { get; set; }
    
     public virtual DateTime Date { get; set; }
    

    归根结底,这描述了这种关系 workflows(1)<---->(n)comments 当保存这种类型的实体时,数据库会报告一个约束冲突,表示列“datum”不能为null,而不是null(对象有一个值)。

    我认为定义一个KeyProperty就足以让这个字段持久化,但显然NHibernate是以另一种方式看待它的。。。

    有人看到这个映射中有错误吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Sebastian Edelmeier    14 年前

    我不知道这是否会回到如此不祥的NH错误,但它现在起作用了,我没有做任何改变:(