2013-03-15 73 views
0

我想映射一個非常基本的親子關係與流利NHibernate。 但是,在分析SQL時,只會創建父INSERT語句。母子映射與流利NHibernate不插入子

情況是一個簡單的類與其他類的列表。不需要回父母。父母被插入/更新時,需要插入/更新孩子。

 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的多個選項,然而任何成功非。

回答

0

對不起人。我剛剛發現了它。 我正在進行無狀態會話。所以沒有關係管理;)