当前位置:  开发笔记 > 编程语言 > 正文

流畅的NHibernate一对多单向映射

如何解决《流畅的NHibernate一对多单向映射》经验,为你挑选了1个好方法。

我有Post和Comment课程,他们有一对多关系,其中Post有一个评论列表.我如何将其映射为与Fluent NHibernate的单向关系,因为评论不需要知道其父Post?目前,这是我对Comment的映射:

Id(x => x.Id);
Map(x => x.Body);
References(x => x.User);

和邮政:

Id(x => x.Id);
Map(x => x.Title);
HasMany(x => x.Comments)
    .Inverse()
    .WithKeyColumn("PostId")
    .Cascade.AllDeleteOrphan();

这不起作用,因为当我尝试使用新添加的Comment保存Post实例时,Comment(PostId)上的外键保持为NULL.当然,使用NULL PostId无法保存注释.我已经尝试删除.Inverse()子句,但这也不起作用.



1> James Gregor..:

当您的外键具有非空约束时,NHibernate不支持此映射.如果删除该约束,您将看到NHibernate使用null PostId插入Comments,然后使用新Post的Id更新它们.

你要么需要:

    删除非空约束Inverse呼叫

    保持约束,并映射关系的另一面(使其成为双向关系,并允许Inverse正常工作)

有关一对多的NHibernate文档中对此进行了介绍,请参阅最后的" 非常重要说明 ".

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有