我正在尝试使用Fluent NHibernate映射一个非常基本的父子关系。 但是,在分析SQL时,只会创建父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的多个选项,但是没有任何成功。
答案 0 :(得分:0)
对不起的人。我刚刚发现了它。 我在无国籍会议上工作。所以没有管理关系;)