オブジェクト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 ステートメントにありました。私は双方向の関連付けを使用していないので、それを削除して動作します。