Fluent nhibernate 使用Fluent NHibernate的父子映射不会插入子对象
我正试图用Fluent NHibernate绘制一个非常基本的亲子关系图。 但是,在分析SQL时,只创建父INSERT语句 这种情况是一个包含其他类列表的简单类。不需要返回到父级的关系。插入/更新父对象时,需要插入/更新子对象 映射如下所示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
公共类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);
}
}