我有一个名为的类Property
,它包含Room
对象的集合
public class Property : EntityBase<Property>
{
public IList<Room> _rooms;
房间映射
public RoomMap()
{
Not.LazyLoad();
Id(x => x.ID).Not.Nullable().UnsavedValue(int.MinValue).GeneratedBy.HiLo("100");
Component(x => x.RoomDetails);
Map(x => x.RoomType).CustomType<RoomType>();
Component(x => x.Area);
//HasMany(x => x.RentPriceDetails);
}
物业图
public PropertyMap()
{
Not.LazyLoad();
Id(x=>x.ID).UnsavedValue(int.MinValue).Not.Nullable().GeneratedBy.HiLo("100");
Component(x => x.Address);
References(x => x.OwnerOfProperty);
HasMany(x => x._rooms).Inverse().Cascade.All();
}
我要做的是从选定的属性对象加载房间对象的集合。我使用这种语法
var property = session.Query<Property>().FetchMany(x => x._rooms).First(x => x.ID == propertyId);
但只有属性对象是从数据库加载的。房间已添加到数据库中,但如何获取它们?如果我尝试访问 property._rooms 集合是空的。
谢谢
解决了
问题在于 Inverse 语句。我不使用双向关联,所以我删除了它并且它可以工作。