【问题标题】:Parent-Child mapping with Fluent NHibernate does not insert children使用 Fluent NHibernate 的父子映射不会插入子代
【发布时间】:2013-03-04 06:57:56
【问题描述】:

我正在尝试使用 Fluent NHibernate 映射一个非常基本的父子关系。 但是,在分析 SQL 时,只创建了 parent-INSERT 语句。

这种情况是一个带有其他类列表的简单类。不需要与父级的关系。插入/更新父级时,需要插入/更新子级。

        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);
    }
}

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

【问题讨论】:

    标签: fluent-nhibernate fluent-nhibernate-mapping


    【解决方案1】:

    对不起各位。我刚发现。 我正在无状态会话中工作。所以没有关系被管理;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 2011-04-10
      相关资源
      最近更新 更多