有没有办法加载 NHibernate 实体,在子集合上有一个子句?我有一个场景,我在“操作”中记录更改,即一个操作可以包含对多个实体的更改。当我想加载特定实体的日志时,我会加载对该实体所做的任何更改的所有操作。加载这些操作会导致加载所有更改 - 我只希望加载相关更改。
课程:
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));