Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.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
Fluent nhibernate 使用Fluent NHibernate的父子映射不会插入子对象_Fluent Nhibernate_Fluent Nhibernate Mapping - Fatal编程技术网

Fluent nhibernate 使用Fluent NHibernate的父子映射不会插入子对象

Fluent nhibernate 使用Fluent NHibernate的父子映射不会插入子对象,fluent-nhibernate,fluent-nhibernate-mapping,Fluent Nhibernate,Fluent Nhibernate Mapping,我正试图用Fluent NHibernate绘制一个非常基本的亲子关系图。 但是,在分析SQL时,只创建父INSERT语句 这种情况是一个包含其他类列表的简单类。不需要返回到父级的关系。插入/更新父对象时,需要插入/更新子对象 映射如下所示 公共类RoomMapping:ClassMap { 公共房间映射() { 桌子(“房间”); Id(x=>x.Id) .由SeqHiLo生成(“seq_rooms”,“1000”); Map(x=>x.Name); 有很多(x=>x.Courses) .Ca

我正试图用Fluent NHibernate绘制一个非常基本的亲子关系图。 但是,在分析SQL时,只创建父INSERT语句

这种情况是一个包含其他类列表的简单类。不需要返回到父级的关系。插入/更新父对象时,需要插入/更新子对象

映射如下所示

公共类RoomMapping:ClassMap
{
公共房间映射()
{
桌子(“房间”);
Id(x=>x.Id)
.由SeqHiLo生成(“seq_rooms”,“1000”);
Map(x=>x.Name);
有很多(x=>x.Courses)
.Cascade.All();
}
}
公共类课程地图:类地图
{
公共课程地图()
{
表(“课程”);
Id(x=>x.Id)
.由SeqHiLo生成(“seq_课程”,“1000”);
Map(x=>x.Name);
}
}

我已经玩过HasMany的多个选项,但都没有成功。

对不起,各位。我刚发现。 我在一个无状态会话中工作。因此,没有管理任何关系;)

        var room = new Room();
        room.Name = "Room1";
        room.Courses.Add(new Course(){ Name = "Course1"});
        room.Courses.Add(new Course(){ Name = "Course2"});

        using (var session = sessionFactory.OpenStatelessSession())
        {
            using (var transaction = session.BeginTransaction())
            {
                session.Insert(room);
                transaction.Commit();
            }
        }
public class RoomMapping : ClassMap<Room>
{
    public RoomMapping()
    {
        Table("Rooms");

        Id(x => x.Id)
            .GeneratedBy.SeqHiLo("seq_rooms", "1000");

        Map(x => x.Name);

        HasMany(x => x.Courses)
            .Cascade.All();
    }
}

public class CourseMap : ClassMap<Course>
{
    public CourseMap()
    {
        Table("Courses");

        Id(x => x.Id)
            .GeneratedBy.SeqHiLo("seq_courses", "1000");

        Map(x => x.Name);
    }
}