子コレクションに句を付けてNHibernateエンティティをロードする方法はありますか?「操作」に変更を記録するシナリオがあります。つまり、1つの操作に複数のエンティティへの変更を含めることができます。特定のエンティティのログをロードする場合は、そのエンティティに加えられた変更を含むすべての操作をロードします。これらの操作をロードすると、すべての変更がロードされます-関連する変更のみをロードしたいのです。
クラス:
public class Operation{
public virtual DateTime TimeStamp { get; set; }
public virtual IList<Change> Changes { get; private set; }
}
public class Change{
public virtual string ChangeText { get; set; }
public virtual int EntityId { get; set; }
}
特定のエンティティの操作を取得する
Session.QueryOver<Operation>().Where(o => o.Changes.Any(c => c.EntityId == entityId));