Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
C# Fluent NHibernate中的复合模型插入问题_C#_Hibernate_Nhibernate_Fluent Nhibernate - Fatal编程技术网

C# Fluent NHibernate中的复合模型插入问题

C# Fluent NHibernate中的复合模型插入问题,c#,hibernate,nhibernate,fluent-nhibernate,C#,Hibernate,Nhibernate,Fluent Nhibernate,我有以下情况: 我有两个类(子类)和一个复合类(父类): 这些类的映射如下所示: public class Parent: ClassMap<Parent> { public ParentMap() { Table("Parents"); Id(x => x.Id).Column("ParentId"); References(x => x.C1).Colum

我有以下情况:

我有两个类(子类)和一个复合类(父类):

这些类的映射如下所示:

public class Parent: ClassMap<Parent>
    {
        public ParentMap()
        {
            Table("Parents");
            Id(x => x.Id).Column("ParentId"); 
            References(x => x.C1).Column("ChildOneId");
            References(x => x.C2).Column("ChildTwoId");
        }
    }
以及ChildOneId(父母)ChildOneId(子女)之间的关系

当我想在数据库中插入一个新的父对象和相应的子对象时,我得到一个错误,ChildOneId/ChildTwoId不能为null

我需要在映射类中指定什么才能使插入生效?(检索操作正常工作)

谢谢,
塔玛什

我想你不会把孩子们的钱存起来吧

session.Save(new Parent { C1 = new ChildOne(), C2 = new ChildTwo() });
使用级联执行从父级保存子级的操作

References(x => x.C1).Column("ChildOneId").Cascade.All();
References(x => x.C2).Column("ChildTwoId").Cascade.All();

你可以发布你用来创建父对象的代码,以及它是如何填充ChildOne和ChildTwo属性的吗!非常感谢!
Parents: ParentId, ChildOneId, ChildTwoId
ChildOne: ChildOneId, ...other columns
ChildOne: ChildTwoId, ...other columns
session.Save(new Parent { C1 = new ChildOne(), C2 = new ChildTwo() });
References(x => x.C1).Column("ChildOneId").Cascade.All();
References(x => x.C2).Column("ChildTwoId").Cascade.All();