Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nhibernate 以一对一的形式提供有效的参考_Nhibernate_Fluent Nhibernate_Mapping_One To One - Fatal编程技术网

Nhibernate 以一对一的形式提供有效的参考

Nhibernate 以一对一的形式提供有效的参考,nhibernate,fluent-nhibernate,mapping,one-to-one,Nhibernate,Fluent Nhibernate,Mapping,One To One,我有两个表,我想使用一对一的关系 class ParentMap{ public ParentMap(){ References(x => x.ChildMap, "parent_id").Cascade.All(); } } 该子级没有相关映射 问题在于parent\u id列是在父级而不是子级创建的 我可以工作,但逻辑上不正确。 使用引用将一对一映射到的最佳方法是什么,我真的搜索了(- 谢谢您可以在父级上使用HasOne将其映射为一对一关系。这意味着连

我有两个表,我想使用一对一的关系

class ParentMap{
    public ParentMap(){
        References(x => x.ChildMap, "parent_id").Cascade.All();
    }
}
该子级没有相关映射

问题在于
parent\u id
列是在父级而不是子级创建的

我可以工作,但逻辑上不正确。
使用引用将一对一映射到的最佳方法是什么,我真的搜索了(-


谢谢

您可以在父级上使用
HasOne
将其映射为一对一关系。这意味着连接发生在表的主键上,并且在保存时主键将同步

如果这不适用于您,则另一种方法是映射:

家长

public ParentMap()
{
    HasOne(x => x.Child)
        .PropertyRef(x => x.Parent)
        .Cascade.All();
}
儿童

public ChildMap()
{
    References(x => x.Parent, "parent_id");
}
这要求您在子级上有一个属性
父级
。一对一关系是双向的